改造与okhttp共同出自于平方公司,改造就是对okhttp做了一层封装。把网络请求都交给给了okhttp,我们只需要通过简单的配置就能使用改造来进行网络请求了,其主要作者是Android大神JakeWharton。
导包:
编译“com.squareup.retrofit2:改造:2.0.0-beta4”//Retrofit2所需要的包
编译的com.squareup.retrofit2: converter-gson: 2.0.0-beta4//ConverterFactory的Gson依赖包
编译的com.squareup.retrofit2: converter-scalars: 2.0.0-beta4//ConverterFactory的字符串依赖包
*这里需要值得注意的是导入的retrofit2包的版本必须要一致,否则就会报错。
首先定义我们请求的Api,我们假设是这样的
http://106.3.227.33/pulamsi/mobileLogin/submit.html
与Okhttp不同的是,改造需要定义一个接口,用来返回我们的电话对象,这里示范的是帖子请求:
公共接口RequestServes { @POST (“mobileLogin/submit.html”) CallgetString (@Query (loginname)字符串loginname, @Query (nloginpwd)字符串nloginpwd); }
改造提供的请求方式注解有@ Get和@POST,参数注解有@ path和@Query等,我们只介绍常用的,前两个顾名思义就是定义你的请求方式Get或Post,后面的@ path指的是通过参数填充完整的路径,一般用法:
@ get (“{name}”) Call@ path(“名字”)字符串getUser(名字),>之前 这里的参数用户名会被填充至{name}中,形成完整的网址请求地址,{name}相当于一个占位符;
@Query就是我们的请求的键值对的设置,我们构建电话对象的时候会传入此参数,
@POST (“mobileLogin/submit.html”) CallgetString (@Query (loginname)字符串loginname, @Query (nloginpwd)字符串nloginpwd); 这里<代码> @Query (loginname) 代码>就是键,后面的loginname就是具体的值了,值得注意的是Get和Post请求,都是这样填充参数的;
接口写完了之后我们需要来定义改造对象来进行请求了;
创建一个改造对象
翻新改造=new Retrofit.Builder () .baseUrl (“http://106.3.227.33/pulamsi/?//增加返回值为字符串的支持 .addConverterFactory (ScalarsConverterFactory.create ())//增加返回值为Gson的支持(以实体类返回) .addConverterFactory (GsonConverterFactory.create ())//增加返回值为Oservable.build ();的支持 .addCallAdapterFactory (RxJavaCallAdapterFactory.create ()) 这里的baseUrl加上之前<代码> @POST (“mobileLogin/submit.html”) 代码>定义的参数形成完整的请求地址;
<代码> addConverterFactory (ScalarsConverterFactory.create())> 代码的意思是构建了一个返回支持,如果你的电话对象的泛型接收另外的格式需要添加另外的支持,上述代码已经列出;
接下来我们用这个改造对象创建一个RequestSerives接口对象,也就是我们之前定义的那个接口,并且得到我们的电话对象,
RequestSerives RequestSerives=retrofit.create (RequestSerives.class);//这里采用的是Java的动态代理模式 Call=requestSerives打电话。getString("用户名"," 1234 ");//传入我们请求的键值对的值 利用得到的电话对象,然后我们就发出网络请求了:
调用。排队(新的Callback() { @Override .toString公共voidreturn:“response.body () ()); } @Override 公共空间失败”); } }); 以上所述是小编给大家介绍的Android改造的简单介绍和使用,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
安卓系统改造的简单介绍和使用