Retrofit2.0入门学习
2017-10-31 10:55
274 查看
添加依赖
说明
https://www.zhaoapi.cn/product/getProductCatagory?cid=2
baseUrl="https://www.zhaoapi.cn/"
接口部分
product/getProductCatagory
第一种post请求
第一步定义一个接口
以上在activity中调用方法一样
}
我的Bean类
第二步activity写法
implementation 'com.squareup.retrofit2:retrofit:2.1.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0'//下方有说明并不是我们的google.gson
说明
https://www.zhaoapi.cn/product/getProductCatagory?cid=2
baseUrl="https://www.zhaoapi.cn/"
接口部分
product/getProductCatagory
第一种post请求
注解@FieldMap
第一步定义一个接口
public interface ApiUrl{ ①post请求+
//这里是添加headers
@Headers("Cache-Control: max-age=640000")@FormUrlEncoded@POST("product/getProductCatagory")Call<Bean> getData(@FieldMap Map<String,Object> params);
//②Body /*@POST("product/getProductCatagory") Call<Bean> getData(@Body() ProductBean bean );*/ //③Filed /*@POST("product/getProductCatagory") Call<Bean> getData(@Query("cid") String cid);*/ get请求
//④QueryMap /* @GET("product/getProductCatagory?") Call<Bean> getData(@QueryMap Map<String,Object> params);*/ //⑤query /* @GET("product/getProductCatagory?") Call<Bean> getData(@Query("cid") int cid);*/
以上在activity中调用方法一样
}
我的Bean类
public class Bean { /** * msg : 获取子分类成功 * code : 0 * data : [{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"手机","pcid":6,"pscid":39},{"icon":"http://120.27.23.105/images/icon.png","name":"笔记本","pcid":6,"pscid":40},{"icon":"http://120.27.23.105/images/icon.png","name":"平板电脑","pcid":6,"pscid":41},{"icon":"http://120.27.23.105/images/icon.png","name":"游戏机","pcid":6,"pscid":42},{"icon":"http://120.27.23.105/images/icon.png","name":"摄影摄像","pcid":6,"pscid":43}],"name":"数码家电","pcid":"6"},{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"男表","pcid":7,"pscid":44},{"icon":"http://120.27.23.105/images/icon.png","name":"女表","pcid":7,"pscid":45},{"icon":"http://120.27.23.105/images/icon.png","name":"儿童手表","pcid":7,"pscid":46},{"icon":"http://120.27.23.105/images/icon.png","name":"运动手表","pcid":7,"pscid":47},{"icon":"http://120.27.23.105/images/icon.png","name":"电子表","pcid":7,"pscid":48},{"icon":"http://120.27.23.105/images/icon.png","name":"情侣表","pcid":7,"pscid":49},{"icon":"http://120.27.23.105/images/icon.png","name":"石英表","pcid":7,"pscid":50},{"icon":"http://120.27.23.105/images/icon.png","name":"机械表","pcid":7,"pscid":51}],"name":"钟表","pcid":"7"},{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"奢品箱包","pcid":8,"pscid":52},{"icon":"http://120.27.23.105/images/icon.png","name":"珠宝饰品","pcid":8,"pscid":53},{"icon":"http://120.27.23.105/images/icon.png","name":"运动户外","pcid":8,"pscid":54}],"name":"服饰奢品","pcid":"8"},{"cid":"2","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"面部护肤","pcid":9,"pscid":55},{"icon":"http://120.27.23.105/images/icon.png","name":"洗发护发","pcid":9,"pscid":56},{"icon":"http://120.27.23.105/images/icon.png","name":"身体护理","pcid":9,"pscid":57},{"icon":"http://120.27.23.105/images/icon.png","name":"口腔护理","pcid":9,"pscid":58},{"icon":"http://120.27.23.105/images/icon.png","name":"女性护理","pcid":9,"pscid":59},{"icon":"http://120.27.23.105/images/icon.png","name":"清洁用品","pcid":9,"pscid":60}],"name":"美妆个护","pcid":"9"}] */ public String msg; public String code; public List<DataBean> data; public static class DataBean { /** * cid : 2 * list : [{"icon":"http://120.27.23.105/images/icon.png","name":"手机","pcid":6,"pscid":39},{"icon":"http://120.27.23.105/images/icon.png","name":"笔记本","pcid":6,"pscid":40},{"icon":"http://120.27.23.105/images/icon.png","name":"平板电脑","pcid":6,"pscid":41},{"icon":"http://120.27.23.105/images/icon.png","name":"游戏机","pcid":6,"pscid":42},{"icon":"http://120.27.23.105/images/icon.png","name":"摄影摄像","pcid":6,"pscid":43}] * name : 数码家电 * pcid : 6 */ public String cid; public String name; public String pcid; public List<ListBean> list; public static class ListBean { /** * icon : http://120.27.23.105/images/icon.png * name : 手机 * pcid : 6 * pscid : 39 */ public String icon; public String name; public int pcid; public int pscid; } } }
第二步activity写法
①Retrofit retrofit = new Retrofit.Builder() .baseUrl(Api.url) .addConverterFactory(GsonConverterFactory.create())//使用gson解析时使用 // 添加源implementation 'com.squareup.retrofit2:converter-gson:2.1.0' .build(); ApiUrl apiUrl = retrofit.create(ApiUrl.class); ②
Map<String, Object> map = new HashMap<>();
map.put("cid",1); retrofit2.Call<Bean> data = apiUrl.getData(map) 异步请求
data.enqueue(new Callback<Bean>() { @Override public void onResponse(retrofit2.Call<Bean> call, retrofit2.Response<Bean> response) { List<Bean.DataBean> data1 = response.body().data; tv.setText("=="+data1.get(0).name); Toast.makeText(MainActivity.this, data1.get(0).name+"===", Toast.LENGTH_SHORT).show(); } @Override public void onFailure(retrofit2.Call<Bean> call, Throwable t) { tv.setText("==请求失败"); } }); }
相关文章推荐
- Android OpenGL ES 2.0入门学习 1
- 关于asp.net 2.0 入门学习之“GlobalResources与Callback问题”的笔记
- Retrofit(2.0)入门小错误 -- Could not locate ResponseBody xxx Tried: * retrofit.BuiltInConverters
- Struts2.0入门的学习笔记
- C#2.0泛型学习--入门篇
- Retrofit 2.0 学习笔记
- Android入门学习——RxJava+Retrofit+MVP学习
- Retrofit 入门学习
- 新手入门指导:Vue 2.0 的建议学习顺序
- 【Hadoop入门学习系列之四】MapReduce 2.0应用场景和原理、基本架构和编程模型
- C#2.0泛型学习--入门篇
- 卷积神经网络入门学习(2.0)
- 学习笔记_python_python编程从入门到实践2.0
- Retrofit2.0学习
- 安卓学习笔记---Retrofit2.0 实现图文(参数+图片)上传方法总结
- C#2.0泛型学习--入门篇
- Retrofit 2.0非常简单的入门(翻译官方文档)
- Hadoop2.2.0稳定版安装__伪分布式模式__Hadoop2.0入门学习一
- Retrofit2.0学习之GET请求
- Retrofit(2.0)入门小错误 -- Could not locate ResponseBody xxx Tried: * retrofit.BuiltInConverters