博客
关于我
Android网络请求开源框架retrofit的基本GET用法(2.4版本)
阅读量:524 次
发布时间:2019-03-08

本文共 5816 字,大约阅读时间需要 19 分钟。

1.先在gradle配置retrfit版本如下:

//rxjava/retrofit相关引入    compile 'io.reactivex.rxjava2:rxandroid:2.0.2'    compile 'io.reactivex.rxjava2:rxjava:2.1.12'    compile 'com.squareup.retrofit2:retrofit:2.4.0'    compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'    compile 'com.squareup.okhttp3:logging-interceptor:3.8.0'

2.写一个接口,配置网络请求地址参数等

public interface WalletService {    /**     * 获取优惠信息的接口     * @return 返回值     */    @GET("/tools/mockapi/3191/favourable")//配置的get请求    Call
getFavourable();}

3.开启请求

Retrofit retrofit = new Retrofit.Builder()                .baseUrl("http://www.wanandroid.com")                .addConverterFactory(new Converter.Factory() {                    @Nullable                    @Override                    public Converter
responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { return new Converter
() { @Override public String convert(ResponseBody value) throws IOException { return value.string(); } }; } }) .build(); WalletService service = retrofit.create(WalletService.class); Call
favourable = service.getFavourable(); favourable.enqueue(new Callback
() { @Override public void onResponse(Call
call, Response
response) { String message = response.body(); Log.e("打印返回的json数据",message); } @Override public void onFailure(Call
call, Throwable t) { //请求失败的处理 } });

4.看下完整的请求地址:

http://www.wanandroid.com/tools/mockapi/3191/favourable

5.这是用retorfit请求到的json数据:

{    "data": [        {            "activity1": "美珍香满50减15",            "activity2": "美珍香满45.5元购50元代金券",            "bankType": "招行",            "businessType": "生活|",            "distance": "27m",            "message": "美珍香(北京来福土店)",            "money": "人均¥34",            "payType": "银联"        },        {            "activity1": "粗娘人家满100减35",            "activity2": "粗娘人家80元购35元代金券",            "bankType": "建行",            "businessType": "美食|",            "distance": "35m",            "message": "粗娘人家(朝阳门店)",            "money": "人均¥128",            "payType": "银联"        },        {            "activity1": "燕窝楼满200减55",            "activity2": "燕窝楼135元购75元代金券",            "bankType": "交行",            "businessType": "美食|",            "distance": "42m",            "message": "燕窝楼满(朝阳门店)",            "money": "人均¥98",            "payType": "银联"        },        {            "activity1": "味多美满70减15",            "activity2": "味多美满25元购5元代金券",            "bankType": "工行",            "businessType": "面包蛋糕|",            "distance": "47m",            "message": "味多美满(朝阳门店)",            "money": "人均¥78",            "payType": "银联"        },        {            "activity1": "良品铺子满50减15",            "activity2": "良品铺子73元购27元代金券",            "bankType": "农行",            "businessType": "零食|",            "distance": "52m",            "message": "良品铺子(朝阳门店)",            "money": "人均¥68",            "payType": "银联"        },        {            "activity1": "酸奶网满30减11",            "activity2": "酸奶网26元购7元代金券",            "bankType": "邮政",            "businessType": "零食|",            "distance": "55m",            "message": "酸奶网(朝阳门店)",            "money": "人均¥39",            "payType": "银联"        },        {            "activity1": "万龙州海鲜满79减31",            "activity2": "万龙州海鲜298元购65元代金券",            "bankType": "浦发",            "businessType": "海鲜|",            "distance": "63m",            "message": "万龙州海鲜(朝阳门店)",            "money": "人均¥197",            "payType": "银联"        },        {            "activity1": "抹茶奶满25减9",            "activity2": "抹茶奶66元购13元代金券",            "bankType": "平安",            "businessType": "生活|",            "distance": "69m",            "message": "抹茶奶海鲜(朝阳门店)",            "money": "人均¥23",            "payType": "银联"        },        {            "activity1": "燕窝楼满200减55",            "activity2": "燕窝楼135元购75元代金券",            "bankType": "交行",            "businessType": "美食|",            "distance": "76m",            "message": "燕窝楼满(朝阳门店)",            "money": "人均¥98",            "payType": "银联"        },        {            "activity1": "味多美满70减15",            "activity2": "味多美满25元购5元代金券",            "bankType": "工行",            "businessType": "面包蛋糕|",            "distance": "79m",            "message": "味多美满(朝阳门店)",            "money": "人均¥78",            "payType": "银联"        },        {            "activity1": "良品铺子满50减15",            "activity2": "良品铺子73元购27元代金券",            "bankType": "农行",            "businessType": "零食|",            "distance": "86m",            "message": "良品铺子(朝阳门店)",            "money": "人均¥68",            "payType": "银联"        },        {            "activity1": "酸奶网满30减11",            "activity2": "酸奶网26元购7元代金券",            "bankType": "邮政",            "businessType": "零食|",            "distance": "96m",            "message": "酸奶网(朝阳门店)",            "money": "人均¥39",            "payType": "银联"        },        {            "activity1": "万龙州海鲜满79减31",            "activity2": "万龙州海鲜298元购65元代金券",            "bankType": "浦发",            "businessType": "海鲜|",            "distance": "127m",            "message": "万龙州海鲜(朝阳门店)",            "money": "人均¥197",            "payType": "银联"        },        {            "activity1": "抹茶奶满25减9",            "activity2": "抹茶奶66元购13元代金券",            "bankType": "平安",            "businessType": "生活|",            "distance": "145m",            "message": "抹茶奶(朝阳门店)",            "money": "人均¥23",            "payType": "银联"        }    ],    "returnMessage": "请求成功",    "returnCode": "200"}

 

转载地址:http://srmnz.baihongyu.com/

你可能感兴趣的文章
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No static resource favicon.ico.
查看>>
no such file or directory AndroidManifest.xml
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
no1
查看>>