Android中Retrifit使用总结
来源:互联网 发布:lol美服加速器免费mac 编辑:程序博客网 时间:2024/06/06 02:59
Android中网络请求框架Retrofit的使用注意事项
1.Retrofit是基于OkHttp网络请求框架的二次封装而已,懂Okhttp的小伙伴,那么Retrofit也就基本都会。
2.Retrofit采用注解配置请求的方式:
以@GET(get请求)和@POST(post请求)两种方式@Query,表示请求上一个请求参数@QueryMap,表示请求上多个请求参数
3.Retrofit采用框架初始化请求方式:有一个call,表示异步请求线程。
具体的代码详见如下:
第一,写一个对应对象的javabean,我相信小伙伴们都会,不多说,此处以Object为例来说明
第二,在一个单独的类中去写请求地址的标识符号,便于后期项目的维护,代码如下:
public class ApiUrls { //app主页类型标识符 public static final String HOME="home";}
第三,写一个请求主页地址api的接口:代码如下:
public interface XiaoKeApi { //请求主页地址的方法 @GET(ApiUrls.HOME) Call<Object> getHomeData();}
第四,简单封装Retrofit,代码如下:
public class HttpUtils {private static XiaoKeApi xiaokeApi;public static XiaoKeApi getApi() { if (xiaokeApi == null) { //初始化retrofit框架 Retrofit build = new Retrofit.Builder() //1.配置主机地址 .baseUrl("http://192.168.xxoo.xxoo.8080/XiaoKeService/") //2.解析json的工具 .addConverterFactory(GsonConverterFactory.create(new Gson())).build(); //读取接口上面的参数 xiaokeApi = build.create(XiaoKeApi.class); } return xiaokeApi;}
第五,封装一个简单的回调callBack方法:方便解析json数据,代码如下:
public class SimpleCallBack implements Callback<Object> {@Overridepublic void onResponse(Call<Object> call, Response<Object> response) { Object body = response.body(); String json = body.data; if (TextUtils.isEmpty(json)) { showError(0, new RuntimeException("亲!取得数据为空")); } else { showData(1, json); }}@Overridepublic void onFailure(Call<Object> call, Throwable t) { t.printStackTrace(); showError(-1, t);}protected void showError(int i, Throwable t) {}protected void showData(int i, String json) {}注意:这里的showError和showData两个方法,是需要在使用的类中,自己做业务逻辑处理
第六,在真正使用的类中添加如下代码,即可完成Retrofit的网络请求过程:
public void onClick() { Call<Object> call = HttpUtils.getApi().getHomeData(); //Callback数据返回处理对象 SimpleCallBack callback=new SimpleCallBack(){ @Override protected void showError(int i, Throwable t) { super.showError(i, t); --- } @Override protected void showData(int i, String json) { super.showData(i, json); HomeData data= new Gson().fromJson(json,HomeData.class); --- } }; call.enqueue(callback);}
致辞,Retrofit的网络请求框架的封装已经完成,谢谢读者观看,再见!
1 0
- Android中Retrifit使用总结
- MVP Retrifit
- Android中Intent 使用总结
- android中handler使用总结
- Android中GridView使用总结
- android中Shape使用总结
- Android中Handler使用总结
- Android中ListView使用总结
- Android中SQLite使用总结
- Android中SVG使用总结
- Android中WebView使用总结
- Android中string.xml使用总结
- Android中string.xml使用总结
- Android中string.xml使用总结
- Android开发中Intent的使用总结
- Android 开发中JNI的使用总结
- Android中string.xml使用总结
- Android中String.xml的使用总结
- 清除缓存工具类
- 神奇的SpannableString
- jquery实现jsp页面报警
- cygwin "nodosfilewarning" warning
- 多线程之DelayQueue
- Android中Retrifit使用总结
- ios 使用cocoapods pod install 或者pod upadate遇到 abort trap:6问题
- apache和nginx禁止IP地址访问
- ngTable简单的使用
- linux vi/vim使用
- http如何像tcp一样实时的收消息?
- 专题3-协处理器访问指令
- POJ2478 Farey Sequence(欧拉函数)
- C++的中英文字符串表示(string,wstring)