Retrofit 2 example tutorial but GsonConverterFactory display error "Cannot resolve symbol"

44,575

Solution 1

EDIT

retrofit 2 is now stable. Use

compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'

in your build.gradle dependency section

old answer

with Retrofit 2.0 you have to declare in your build.gradle the convert factory you want to use. Add

compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

to your gradle and sync it again

Solution 2

From another article on that site

Retrofit 2 doesn’t ship with Gson by default. Before, you didn’t need to worry about any integrated converter and you could use Gson out of the box. This library change affects your app and you need to import a converter as a sibling package as well. We’ll touch the converter later within this post and show you how to config the Gson or any other response converter for your app.

Thus, add this to your build.gradle

dependencies {  
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
}

Solution 3

New version is now available

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

Solution 4

The reason to such behavior in my case was typo in build.gradle dependency. After beta4 release I've updated from:

compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

to

 compile 'com.squareup.retrofit:converter-gson:2.0.0-beta4'

and the right dependency was

compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'


Also worth notice, that beta4 - retrofit won't work with beta2 - gson!

Solution 5

As Updated Retrofit Library with New Version

With

compile 'com.squareup.retrofit2:retrofit:2.0.2'

You must have to include dependency of:

compile 'com.squareup.retrofit2:converter-gson:2.0.2'
Share:
44,575
StackOverflower
Author by

StackOverflower

Updated on July 19, 2022

Comments

  • StackOverflower
    StackOverflower almost 2 years

    I'm trying to follow Retrofit's 2 tutorial, but on this part of the code there is a GsonConverterFactory that displays error Cannot resolve symbol:

    public class ServiceGenerator {
    
        public static final String API_BASE_URL = "http://your.api-base.url";
    
        private static OkHttpClient httpClient = new OkHttpClient();
        private static Retrofit.Builder builder =
                new Retrofit.Builder()
                        .baseUrl(API_BASE_URL)
                        //THIS IS THE LINE WITH ERROR!!!!!!!!!!!!
                        .addConverterFactory(GsonConverterFactory.create());
    
        public static <S> S createService(Class<S> serviceClass) {
            Retrofit retrofit = builder.client(httpClient).build();
            return retrofit.create(serviceClass);
        }
    }
    

    Previously I added in my gradle.build, I'm not sure if I should add GSON since they say Retrofit 1.9 has it but nothing is mentioned about Retrofit 2:

    dependencies {  
        // Retrofit & OkHttp
        compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
    }
    
  • StackOverflower
    StackOverflower over 8 years
    hi thanks I can't upvote you since it seems I don't have enough rep but your answer also helped