Retrofit初体验
来源:互联网 发布:方舟生存进化淘宝购买 编辑:程序博客网 时间:2024/06/09 14:39
添加依赖库
compile 'com.squareup.retrofit2:retrofit:2.2.0' //gson和jackson任选一个即可 compile 'com.squareup.retrofit2:converter-gson:2.2.0' compile 'com.squareup.retrofit2:converter-jackson:2.2.0'
创建APIService接口(当然名字可以随便你起)
public interface APIService { //get请求, " "里面为域名后面的地址,前面最好不要用"/" @GET("app/customer/class/v2/top/list") //请求得到的数据为HttpResult<List<HomeTag>>, 当然可以为对象,也可以为集合数据 //测试后发现好像不能用泛型 //方法名随便你自己起 Call<HttpResult<List<HomeTag>>> getResult();}
另外的用法
//使用占位符,@Path("user")指向注解里面的{user}@GET("users/{user}/tags")Call<List<HomeTag>> getResult(@Path("user") String user);//请求参数为字符串Call<HttpResult<List<HomeTag>>> getResult(@Field("content") String content);//请求参数为mapCall<HttpResult<List<HomeTag>>> getResult(@FieldMap Map<String, String> map);
- 代码中使用
Retrofit retrofit = new Retrofit.Builder() .baseUrl(HttpConfig.HOST)//接口的域名,最好后面接"/" .addConverterFactory(GsonConverterFactory.create())//也可以用其他的json工具 .build(); APIService service = retrofit.create(APIService.class); Call<HttpResult<List<HomeTag>>> result = service.getResult(); //开启异步请求 result.enqueue(new Callback<HttpResult<List<HomeTag>>>() { @Override public void onResponse(Call<HttpResult<List<HomeTag>>> call, Response<HttpResult<List<HomeTag>>> response) { //TODO //call,为前面的请求对象 //response,请求后需要的数据就包装在里面 HttpResult<List<HomeTag>> body = response.body(); List<HomeTag> list = body.getPayload(); } @Override public void onFailure(Call<HttpResult<List<Object>>> call, Throwable t) { } });
是不是so easy!!!
0 0
- Retrofit初体验
- Retrofit初体验
- Retrofit初体验
- Retrofit初体验
- Retrofit初体验
- Retrofit初体验,复杂数据gson解析
- Android—-Rxjava与Retrofit初体验
- Android-Retrofit初使用
- Retrofit初了解
- Retrofit
- Retrofit
- Retrofit
- Retrofit
- Retrofit
- Retrofit
- Retrofit
- Retrofit
- Retrofit
- Djange学习笔记1
- Hive环境搭建和实例
- BZOJ 1009 [HNOI2008] GT考试
- 初识socket
- Android数据存储—使用SQLite数据库
- Retrofit初体验
- 用Unity做一个钟表
- 在线下载ECharts官方示例库中示例的源代码
- Couresa 助学金申请
- 463. Island Perimeter
- React-Redu
- Java Restfull API 文档生成 Swagger UI
- 单链表编程题
- 解决qq邮箱发送邮件失败javax.mail.AuthenticationFailedException