Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method ,when initializing Retrofit

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.

like image 410
Pranav Choudhary Avatar asked Mar 31 '20 11:03

Pranav Choudhary


1 Answers

add

  compileOptions {     sourceCompatibility JavaVersion.VERSION_1_8     targetCompatibility JavaVersion.VERSION_1_8 } 

in your build.gradle file.

like image 163
Pranav Choudhary Avatar answered Oct 09 '22 22:10

Pranav Choudhary