android retrofit 2.0,Using Retrofit 2.0 in Android

step 1 dependencies:

//RETROFIT

implementation 'com.squareup.retrofit2:retrofit:2.9.0'

implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

implementation "com.squareup.okhttp3:okhttp:4.7.2"

implementation 'com.squareup.okhttp3:logging-interceptor:4.7.2'

step 2 Utils class

public class Utils {

private static Utils singleton;

public Dialog dialog;

public static Utils getInstance() {

if (singleton == null) {

singleton = new Utils();

}

return singleton;

}

public ApiInterfaces initializeWebServiceCall(Context context) {

Gson gson = new GsonBuilder().setLenient().create();

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();

interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

OkHttpClient client = new OkHttpClient.Builder().connectTimeout(1, TimeUnit.MINUTES).readTimeout(1, TimeUnit.MINUTES).addInterceptor(interceptor).build();

Retrofit retrofit = new Retrofit.Builder()

.baseUrl(ApiEndPoint.BASE_URL)

.client(client)

.addConverterFactory(GsonConverterFactory.create(gson))

.build();

ApiInterfaces mRestAPI = retrofit.create(ApiInterfaces.class);

return mRestAPI;

}

}

step 3 interface

public interface ApiInterfaces {

@FormUrlEncoded

@POST(ApiEndPoint.BASE_URL + "address_list")

Call address_list(@Field("user_id") String user_id);

}

step 4 api calling

private RecyclerView rec_address;

private ArrayList AddressList = new ArrayList();

Call call = Utils.getInstance().initializeWebServiceCall(SelectAddressActivity.this).address_list(id);

call.enqueue(new Callback() {

@Override

public void onResponse(Call call, Response response) {

if (response.body() != null) {

if (!SelectAddressActivity.this.isFinishing() && pd.isShowing())

pd.dismiss();

String status, message, id, pincode, house_no, city, area, state, user_id, name, mobile_no, alt_mobile_no;

String address;

status = response.body().getStatus();

message = response.body().getMessage();

Log.d("response12", "SUCCESS:" + status + "\n MESSAGE:" + message);

if (response.body().getStatus().equalsIgnoreCase("success")) {

pd.dismiss();

// Toast.makeText(AddAddressActivity.this, response.body().getMessage(), Toast.LENGTH_LONG).show();

ArrayList list = response.body().getDataList();

Log.d("fugweut325ncv", list.toString() + "\n " + list.size());

for (int i = 0; i < list.size(); i++) {

id = list.get(i).getId();

pincode = list.get(i).getPincode();

house_no = list.get(i).getHouse_no();

city = list.get(i).getCity();

area = list.get(i).getArea();

state = list.get(i).getState();

name = list.get(i).getName();

mobile_no = list.get(i).getMobile_no();

alt_mobile_no = list.get(i).getAlt_mobile_no();

AddressBean.AddressData adata = new AddressBean.AddressData(id, pincode, house_no, city, area, state, name, mobile_no, alt_mobile_no);

AddressList.add(adata);

Log.d("dutgwihv", "PINCODE" + pincode + "\n HOUSE NO:" + house_no + "CITY:" +

city + "\n AREA" + area + "\n STATE" + state + "\n name:" + name + "\n mobile:"

+ mobile_no + "alternate:" + alt_mobile_no);

if (alt_mobile_no.equals("0")) {

address = "Name:" + name + "\nMobile Number:" + mobile_no + "\nAddress:" + house_no + ", " + area + ", " + city + ", " + state + "- " + pincode;

} else {

address = " Name:" + name + "\n Mobile Number:" + mobile_no + "," + alt_mobile_no + "\n Address:" + house_no + ", " + area + ", " + city + ", " + state + "- " + pincode;

}

}

AddressAdapter adapter = new AddressAdapter(SelectAddressActivity.this, AddressList);

rec_address.setLayoutManager(new GridLayoutManager(SelectAddressActivity.this, 1));

rec_address.setItemAnimator(new DefaultItemAnimator());

rec_address.setAdapter(adapter);

} else {

pd.dismiss();

Toast.makeText(SelectAddressActivity.this, response.body().getMessage(), Toast.LENGTH_LONG).show();

}

} else {

if (!SelectAddressActivity.this.isFinishing() && pd.isShowing()) {

pd.dismiss();

Toast.makeText(SelectAddressActivity.this, response.body().getMessage(), Toast.LENGTH_LONG).show();

}

}

}

@Override

public void onFailure(Call call, Throwable t) {

if (!SelectAddressActivity.this.isFinishing() && pd.isShowing())

pd.dismiss();

AlertDialog.Builder b1 = ApiEndPoint.getAlertDialog(SelectAddressActivity.this, "Time Out", ApiEndPoint.getMessage(), R.mipmap.ic_launcher, "Cancel");

b1.setPositiveButton("Retry", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

sendAddressListRequest();

}

});

b1.create().show();

}

});

step 5 bean class

public class AddressBean implements Parcelable{

@SerializedName("status")

@Expose

private String status;

@SerializedName("message")

@Expose

private String message;

@SerializedName("data")

@Expose

private ArrayList DataList;

protected AddressBean(Parcel in) {

status = in.readString();

message = in.readString();

DataList = in.createTypedArrayList(AddressData.CREATOR);

}

public static final Creator CREATOR = new Creator() {

@Override

public AddressBean createFromParcel(Parcel in) {

return new AddressBean(in);

}

@Override

public AddressBean[] newArray(int size) {

return new AddressBean[size];

}

};

public String getStatus() {

return status;

}

public void setStatus(String status) {

this.status = status;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

public ArrayList getDataList() {

return DataList;

}

public void setDataList(ArrayList dataList) {

DataList = dataList;

}

@Override

public int describeContents() {

return 0;

}

@Override

public void writeToParcel(Parcel parcel, int i) {

parcel.writeString(status);

parcel.writeString(message);

parcel.writeTypedList(DataList);

}

public static class AddressData implements Parcelable {

public AddressData() {

}

public AddressData(String id, String pincode, String house_no, String city, String area, String state, String name, String mobile_no, String alt_mobile_no) {

this.id = id;

this.pincode = pincode;

this.house_no = house_no;

this.city = city;

this.area = area;

this.state = state;

this.name = name;

this.mobile_no = mobile_no;

this.alt_mobile_no = alt_mobile_no;

}

@SerializedName("id")

@Expose

private String id;

@SerializedName("pincode")

@Expose

private String pincode;

@SerializedName("house_no")

@Expose

private String house_no;

@SerializedName("city")

@Expose

private String city;

@SerializedName("area")

@Expose

private String area;

@SerializedName("state")

@Expose

private String state;

@SerializedName("name")

@Expose

private String name;

@SerializedName("mobile_no")

@Expose

private String mobile_no;

@SerializedName("alt_mobile_no")

@Expose

private String alt_mobile_no;

protected AddressData(Parcel in) {

id = in.readString();

pincode = in.readString();

house_no = in.readString();

city = in.readString();

area = in.readString();

state = in.readString();

name = in.readString();

mobile_no = in.readString();

alt_mobile_no = in.readString();

}

public static final Creator CREATOR = new Creator() {

@Override

public AddressData createFromParcel(Parcel in) {

return new AddressData(in);

}

@Override

public AddressData[] newArray(int size) {

return new AddressData[size];

}

};

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getPincode() {

return pincode;

}

public void setPincode(String pincode) {

this.pincode = pincode;

}

public String getHouse_no() {

return house_no;

}

public void setHouse_no(String house_no) {

this.house_no = house_no;

}

public String getCity() {

return city;

}

public void setCity(String city) {

this.city = city;

}

public String getArea() {

return area;

}

public void setArea(String area) {

this.area = area;

}

public String getState() {

return state;

}

public void setState(String state) {

this.state = state;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getMobile_no() {

return mobile_no;

}

public void setMobile_no(String mobile_no) {

this.mobile_no = mobile_no;

}

public String getAlt_mobile_no() {

return alt_mobile_no;

}

public void setAlt_mobile_no(String alt_mobile_no) {

this.alt_mobile_no = alt_mobile_no;

}

@Override

public int describeContents() {

return 0;

}

@Override

public void writeToParcel(Parcel parcel, int i) {

parcel.writeString(id);

parcel.writeString(pincode);

parcel.writeString(house_no);

parcel.writeString(city);

parcel.writeString(area);

parcel.writeString(state);

parcel.writeString(name);

parcel.writeString(mobile_no);

parcel.writeString(alt_mobile_no);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值