本篇内容主要讲解“怎么使用Android改造”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”怎么使用Android改造”吧!
关于改造的学习,我算是比较晚的了,而现在改造已经是Android非常流行的网络请求框架了。之前,我没有学过改造,但最近公司的新项目使用了翻新,Rxjava和OkHttp来进行封装,使用起来非常简便,增加代码的美观程度,也降低了耦合度,这是一个非常棒的框架,特别是这三者一起使用。
<强>简介强>
改造是平方公司开发的一款针对安卓网络请求的框架,现在已经更新到2.3版本了.Retrofit的最大特点是使用运行时注解的方式提供功能。
<强>改造的使用强>
关于改造的使用,其实还是很简单的,而且逻辑思路也比较清晰,所以开发者是很容易上手的。
<强>添加依赖强>
构建。gradle文件的依赖关系下添加以下依赖:
代码如下:
编译& # 39;com.squareup.retrofit2:改造:tripwire # 39;编译& # 39;com.squareup.retrofit2: converter-gson: tripwire # 39;
上面除了添加改造依赖,还添加了gson依赖,来解析请求得到的json数据。
<强>定义使用的数据集合强>
class Result & lt; T> { ,,var 状态:Int ?,=, 1//请求结果 lateinit 才能;var 信息:,字符串; var 才能;content : T ?=零 }
这是返回结果的集合,使用了芬兰湾的科特林来写
class Content { ,,var 名称:字符串?=零 var 才能;mobile :字符串?=零 var 才能;address :字符串?=零 }
需要的内容集合类
<强>请求强>
需要一个接口,并且编写请求的方法
interface HttpService { @ get才能(“index . php ? m=Api& c=User&一个=userInfo") fun 才能getUserInfo ():, Call比; }
调用请求
private void 请求(),{ ,,,Retrofit Retrofit =, new Retrofit.Builder () ,,,,,,,.baseUrl (“http://one.sinalwj.cn//") ,,,,,,,.addConverterFactory (GsonConverterFactory.create ()) ,,,,,,,.build (); ,,,HttpService service =, retrofit.create (HttpService.class); ,,,Call祝辞,call =, service.getUserInfo (); ,,,call.enqueue (new Callback< Result 在(),{ ,,,,@Override ,,,,,public void onResponse (Call 祝辞,电话,,Response 祝辞,响应),{ ,,,,,,,Log.i (“tag",, response.body () .getContent () . getname ()); ,,,,,} ,,,,@Override ,,,,,public void onFailure (Call 祝辞,电话,,Throwable t), { ,,,,,,,Log.i (“tag",,“失败“); ,,,,,} ,,,}); 以前,,}> 以上就是翻新的得到请求方式. get请求需要在请求方法之前添加一个得到注解来标明这是一个得到请求,同样,如果是帖子请求需要一个帖子注解。
@FormUrlEncoded //表单 @POST才能(“index . php ? m=Api& c=User&一个=userInfo") fun getUserInfo(才能 ,,,,,@Field (“user_id"), user_id:, String //参数 ,,):Observable
祝辞,//返回数据类型
<强> @Body 强>
@Body注解是针对帖子的请求方式,如传输数据JSON格式
class Content { ,,var 名称:字符串?=零 lateinit 才能;var sn: sn SN {class 才能; ,,,var out : String ?=零 ,,,var errNo : Int ?=1 ,,} }
@ get (“ajax.php") fun getInfo (@Body 内容:内容):,Call在
<强> @ path 强>
使用@ path可以动态的配置URL地址。
@ get(“{路径/}{index . php ? m=Api& c=User&一个=userInfo") fun getUserInfo (@ path (“path")路径:,字符串):,Call在
<强> @Query 强>
@Query即动态指定查询条件
@ get (“ajax.php") null怎么使用Android改造