Api Calling

 ApiClient.java

package com.example.volley.Api;

import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class ApiClient {

static String BASE_URL="https://jsonplaceholder.typicode.com/";
static Retrofit retrofit=null;

public static Retrofit getData()
{
if(retrofit==null)
{
retrofit =new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}

}


 Api_Interface.java

package com.example.volley.Api;

import com.example.volley.ModalClass.ModelDatum;

import java.util.List;

import retrofit2.Call;
import retrofit2.http.GET;

public interface ApiInterFace {

@GET("posts")
Call<List<ModelDatum>> getPost();


}


 MainActivity.java


public class Retro_Api extends AppCompatActivity {

List<ModelDatum> modelDataList=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_retro_api);
Api_Calling();
}

void Api_Calling()
{
ApiInterFace apiInterFace=getData().create(ApiInterFace.class);

apiInterFace.getPost().enqueue(new Callback<List<ModelDatum>>() {
@Override
public void onResponse(Call<List<ModelDatum>> call, Response<List<ModelDatum>> response) {
modelDataList=response.body();


Log.e("TAG", "onResponse: ====>>> "+modelDataList.get(0).getId() );
Log.e("TAG", "onResponse: ====>>> "+modelDataList.get(0).getUserId() );
Log.e("TAG", "onResponse: ====>>> "+modelDataList.get(0).getTitle() );
Log.e("TAG", "onResponse: ====>>> "+modelDataList.get(0).getBody() );
}

@Override
public void onFailure(Call<List<ModelDatum>> call, Throwable t) {
Toast.makeText(Retro_Api.this, ""+t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}