I am using retrofit to get sample data from "https://jsonplaceholder.typicode.com/comments" but I am getting this error:
2020-03-31 16:33:12.011 8140-8140/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.retrofit_tutorial, PID: 8140 java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method at okhttp3.internal.Util.<clinit>(Util.java:87) at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321) at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313) at okhttp3.HttpUrl.get(HttpUrl.java:917) at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492) at com.example.retrofit_tutorial.MainActivity.onCreate(MainActivity.java:29) at android.app.Activity.performCreate(Activity.java:7136) at android.app.Activity.performCreate(Activity.java:7127) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
My MainActivity.java is:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); requestPermissions(new String[]{Manifest.permission.INTERNET},0); textView = findViewById(R.id.text_view); Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://jsonplaceholder.typicode.com/") .addConverterFactory(GsonConverterFactory.create()) .build(); JsonPlaceHolderApi jsonPlaceHolderApi = retrofit.create(JsonPlaceHolderApi.class); Call<List<Comments>> call= jsonPlaceHolderApi.getComments(); call.enqueue(new Callback<List<Comments>>() { @Override public void onResponse(Call<List<Comments>> call, Response<List<Comments>> response) { if(!response.isSuccessful()){ textView.setText("error :" +response.code()); return; } List<Comments> comments =response.body(); String answer=""; for(Comments c:comments){ answer = "postId"+c.getPostId()+" \n"+"id :" +c.getId() +"\nname"+ c.getName()+"\nemail "+c.getEmail()+"\n comment"+c.getComment()+"\n"; } textView.setText(""+answer); } @Override public void onFailure(Call<List<Comments>> call, Throwable t) { textView.setText(t.getMessage()); } }); }
and My JsonPlaceHolderApi code is:
public interface JsonPlaceHolderApi { @GET("comments") Call<List<Comments>> getComments(); }
I have also added Internet permission in Manifest file. But I still don't know why this error is coming.
add
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
in your build.gradle
file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With