AndroidManifest
<uses-permission android:name="android.permission.INTERNET" />
MainActivity
API apiInterface = RestClient.getRetrofit().create(API.class);
//JsonObject objFilterData = new JsonObject();
//objFilterData.addProperty("params", "0");
Call<JsonObject> call = apiInterface.apiname("0");
call.enqueue(new Callback<JsonObject>() {
@Override
public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
// check your full URL
String url = response.raw().request().url().toString();
JsonObject jsonObject = new Gson().fromJson(response.body(), JsonObject.class);
//your response in json Object
}
@Override
public void onFailure(Call<JsonObject> call, Throwable t) {
Toast.makeText(MainActivity.this, "" + t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
RestClient
public class RestClient {
public static String base_url = "your base url";
public static Retrofit retrofit;
public static Retrofit getRetrofit() {
if (retrofit == null) {
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(100, TimeUnit.SECONDS)
.writeTimeout(100, TimeUnit.SECONDS)
.readTimeout(100, TimeUnit.SECONDS).build();
retrofit = new Retrofit.Builder()
.baseUrl(base_url)
.client(client)
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
interface API Class
public interface API {
@FormUrlEncoded
@POST("apiname")
Call<JsonObject> apiname(@Field("params") String customer_id);
//@Headers("Content-Type:application/json")
//@POST("updateselleraddress")
//Call<JsonObject> updateselleraddress(@Body String body);
}
values/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
Retrofit Dependencies
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.7'
implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.7'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
if you need Response class
@SerializedName("data")
@Expose
private ArrayList<Data> data;
public ArrayList<Data> getData() {
return data;
}
public void setData(ArrayList<Data> data) {
this.data = data;
}