Android(安卓)Retrofit 笔记之二配置通用接口
16lz
2021-01-24
一,首先,接口统一定义为
@GET("{url}")Observable getPhoneNumIP(@Path("url") String url, @Query("appkey") String appkey, @Query("shouji") String shouji);
二,网络请求具体实现
Retrofit retrofit = Getretrofit.initretrofit(baseurl); APIService service = retrofit.create(APIService.class); service.getPhoneNumIP("shouji/query","bb5093902ab6f37d", "185652856824") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .map(new Function() { @Override public MyNumBean apply(ResponseBody responseBody) throws Exception { String msg = responseBody.string(); LogUtils.d(msg); MyNumBean myNumBean = GsonJsonUtils.parseJson2Obj(msg, MyNumBean.class); LogUtils.object(myNumBean); return myNumBean; } }) .subscribeWith(new Observer() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(MyNumBean infoBean) { mViewById.setText(infoBean.getResult().getCompany()); } @Override public void onError(Throwable e) { LogUtils.d(e.getMessage()); } @Override public void onComplete() { } });
三,定义对应的java 基类bean public class BaseBean { private String status; private String msg; private T result; public BaseBean() { } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getResult() { return result; } public void setResult(T result) { this.result = result; }}
四,具体业务bean
public class MyNumBean extends BaseBean{}
public class NumIP { /** * province : 浙江 * city : 杭州 * company : 中国移动 * cardtype : GSM */ private String province; private String city; private String company; private String cardtype; public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getCompany() { return company; } public void setCompany(String company) { this.company = company; } public String getCardtype() { return cardtype; } public void setCardtype(String cardtype) { this.cardtype = cardtype; }}
更多相关文章
- Android之实现手电筒实例
- Android实现滑动屏幕切换图片
- 【android积累】
- android studio external tool 自定义工具
- Android菜单的定义及ActionBar的实现
- android使用技巧
- Android自定义控件按钮
- 自定义TabHost
- android自定义SeekBar