网络加载框架Retrofit2
来源:互联网 发布:linux切换至具体目录 编辑:程序博客网 时间:2024/06/07 08:46
传送门安卓的更新换代,各种新框架,各种新的控件,当我安卓5.0的新特性还没熟悉的时候什么安卓6.0就出来了。就像网络框架,不说我们经常是原生态的http请求,还有前两年Volley框架,到如今的okhttp,retrofit。感觉现在谁网络请求不用个okhttp就有一种跟不上时代潮流。
retrofit是什么
retrofit框架的底层是基于okhttp,但是呢,它对http进行的封装、
如何使用retrofit
毫无疑问,在我们的android studio进行引入
与okhttp不同的是,retrofit需要定义一个接口
public interface RequestSerives { @POST("{name}") Call<String> getString(@Query("loginname") String loginname, @Query("nloginpwd") String nloginpwd);}
然后创建一个retrofit对象
Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://106.3.227.33/pulamsi/") //增加返回值为String的支持 .addConverterFactory(ScalarsConverterFactory.create()) //增加返回值为Gson的支持(以实体类返回) .addConverterFactory(GsonConverterFactory.create()) //增加返回值为Oservable<T>的支持 .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .build();
随后根据retrofit对象创建RequestSerivice对象,以及Call
RequestSerives requestSerives = retrofit.create(RequestSerives.class);//这里采用的是Java的动态代理模式Call<String> call = requestSerives.getString("userName", "1234");//传入我们请求的键值对的值
然后我们开始介绍,刚开始我们定义的接口的含义,其中post后面的name相当于一个占位符,会被baseUrl(“http://106.3.227.33/pulamsi/“),这里面的字符串所替代,至于post的意思当然是指为post请求。
@query是指的键值对,也就是下面方法进行调用的:
retrofit.create(RequestSerives.class);//这里采用的是Java的动态代理模式Call<String> call = requestSerives.getString("userName", "1234");//传
这之后我们就可以进行数据的获取,例如
call.enqueue(new Callback<String>() { @Override public void onResponse(Call<String> call, Response<String> response) { Log.e("成功",response.body().toString()); } @Override public void onFailure(Call<String> call, Throwable t) { Log.e("失败","失败"); }});
还有一点需要注意的是,默认的情况下,retrofit用的是gson解析,我们的返回值可以是gson解析过的对象。
0 0
- 网络加载框架Retrofit2
- 全新的网络加载框架Retrofit2
- 全新的网络加载框架Retrofit2,上位的小三
- 全新的网络加载框架Retrofit2,上位的小三
- 全新的网络加载框架Retrofit2,上位的小三
- 网络框架之Retrofit2
- 网络通信框架Retrofit2
- 如何使用retrofit2网络框架
- Retrofit2网络框架的使用
- Android Okhttp3+Retrofit2网络加载效率优化
- Android Okhttp3+Retrofit2网络加载效率优化
- Retrofit2.0+网络框架HTTP实战
- Retrofit2+OkHttp3+RxJava搭建网络框架
- Retrofit2+OkHttp3+RxJava搭建网络框架
- Retrofit2网络框架的使用(一)
- Retrofit2+OkHttp3+RxJava构建网络框架
- Android-网络框架04Retrofit2.0+RxJava
- Android RxJava2+Retrofit2搭建网络请求框架
- HTML5表格元素(20160805-0005)
- mongodb查看锁信息
- 写给一年后的自己
- Scheme版本修订进展
- Range Sum Query - Immutable
- 网络加载框架Retrofit2
- Spring MVC Hello World 实例
- Java中使用Jedis操作Redis
- POJ1.11 06月度开销
- 利用距离进行分类
- swift学习之懒加载
- [noip模拟赛]邮递员送信(spfa)
- Android TextView字号太大不显示
- 关于iOS开发一些优秀的博客整理