Android快速开发架构PlanA,一周一个APP,持续维护中!
Android快速开发架构PlanA(一),船新版本的BaseActivity
Android快速开发架构PlanA(二),简单粗暴的路由管理PRouter
Android快速开发架构PlanA(三),你一定会用上的工具类
Android快速开发架构PlanA(四),网络请求篇,划重点(必考)
Android快速开发架构PlanA(五),文件上传下载了解一下
Android快速开发架构PlanA(六),抱歉,这些自定义控件真的可以让你为所欲为
Android快速开发架构PlanA(七),隐藏技能:PhotoBrowse图片浏览
Android快速开发架构PlanA(八),手滑搞了个万能适配器CommonAdapter

1.怎么说?

  PlanA架构集成第四篇,PlanA中网络请求的使用,相信很多开发者在Android的开发中都有自己的网络请求体系,更适合自己,这里的网络请求方面也做了高度封装,针对多种情况,可以选择使用,使用简单,方便。
  PlanA中的网络请求主要是Retrofit2+Okhttp3+Rxjava2的封装,不需要了解底层的实现思路,你只需一行代码即可实现高效,快速的网络请求。

2.初始化

  • 在Application的onCreate中初始化baseUrl

    //初始化RetrofitClient.getInstance().init(new HttpConfig.Builder().setBaseUrl("http://192.168.1.123:8080/").build());
  • 如果你需要配置其他项,则如下:

     //初始化 HttpConfig.Builder builder = new HttpConfig.Builder(); builder.setBaseUrl("http://192.168.1.123:8080/"); builder.setDefaultConnectTimeout(12000);//设置连接超时时间:毫秒 builder.setDefaultReadTimeout(12000);//设置读取超时时间:毫秒 builder.setDefaultWriteTimeout(12000);//设置写入超时时间:毫秒 RetrofitClient.getInstance().init(builder.build());

3.网络请求(以get为例,post亦是如此)

简单请求

// taskId为当前请求任务Id,后续取消网络请求会用上,不取消则可以不接收String taskId = RetrofitClient.getInstance()            .get("api/getUserByName")            .param("name", "kevin")            .execute(new ResCallback() {                @Override                public void onResponse(ResponseBody responseBody) {                    Log.d("debug","请求成功");                }                @Override                public void onError(Throwable e) {                    Log.e("error",e.getLocalizedMessage());                }            });// 取消网络请求RetrofitClient.getInstance().cancelRequest(taskId);

完整请求

1)普通参数

String taskId = RetrofitClient.getInstance()           .get("api/getUserByName") // post也是一样的           .header("cus-xxx","xxx")           .headers(headerMap)           .param("key1","value1")           .params(paramMap)           .execute(new ResCallback() {               @Override               public void onResponse(ResponseBody responseBody) {                   Log.d("debug","请求成功");               }               @Override               public void onError(Throwable e) {                   Log.e("error",e.getLocalizedMessage());               }           });

2)Json参数

String taskId = RetrofitClient.getInstance()           .get("api/getUserByName") // post也是一样的           .header("cus-xxx","xxx")           .headers(headerMap)           .upJson(paramMap) // 如果调用upJson的话,会自动添加Content-Type:application/json;charset=utf-8           .execute(new ResCallback() {               @Override               public void onResponse(ResponseBody responseBody) {                   Log.d("debug","请求成功");               }               @Override               public void onError(Throwable e) {                   Log.e("error",e.getLocalizedMessage());               }           });

PlanA网络请求框架持续优化中,有疑问或者改进意见请留言↓↓↓

更多相关文章

  1. Android开发优秀博文收录
  2. Python+Android开发
  3. 分享一些实用的Android资源
  4. [实例教程] 用python开发android应用
  5. android 处理运行时改变 开发文档翻译
  6. 深入浅出 - Android系统移植与平台开发(七)- Android系统的启动
  7. [Android]Android(安卓)Studio获取开发版和发布版的MD5和SHA1
  8. Android开发资源完全汇总(转MatthewChen Piscesky)
  9. Android开发之一些问题的解决办法

随机推荐

  1. 10 个Linux Awk文本处理经典案例
  2. Python 发送邮件各种姿势
  3. Kubernetes Dashboard v2.0.0 尝鲜
  4. Kubeadm 部署高可用 K8S 集群
  5. 解决docker服务默认网卡和宿主机网卡内网
  6. 一个简单的Java计时器项目,附源码
  7. RSA加密的填充方式
  8. 什么是技术分析(Technical Analysis)指标库
  9. PHP语言之华为应用内支付IAP验签
  10. 构建用户评分体系