安卓项目易用Ohttp封装
来源:互联网 发布:github 怎么浏览源码 编辑:程序博客网 时间:2024/06/05 18:04
在android中的网络请求如果用Handler来传,看代码跳来跳去太累。首先呢,这个是我实际项目中的封装,各位不用担心能不能用的问题。
支持的功能:
1.无缝在主线程调用回到主线程
2.自动Gson泛型机械,并支持到二级泛型
3.支持Activity结束时,取消所有创建的网络操作
4.支持单个网络操作取消
5.使用链式调用,使用方便
Get请求
HttpUtil.newBuilder(this)//每个请求都绑定一个activity .url("https://www.baidu.com/s") .addParam("wd","哈哈") .get(new HttpUtil.HttpResult<String>() { @Override public void onSuccess(String obj) {//可直接处理成功情况,不用onFailed TextView textView = (TextView) findViewById(R.id.text); textView.setText(obj); } });
Post请求
HttpUtil.newBuilder(this)//只是展现用法,不能获取数据 .url("https://www.baidu.com/") .addParam(new HashMap<String, String>())//也可以直接添加Map参数 .post(new HttpUtil.HttpResult<ArrayList<DriverPropertyInfo>>() {//支持两级泛型 @Override public void onSuccess(ArrayList<DriverPropertyInfo> infos) { //很多时候我们需要list<>形式, } @Override public void onFailed(String msg) { super.onFailed(msg); } });
取消请求
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //get请求 HttpUtil.HttpBuilder builder = HttpUtil.newBuilder(this)//每个请求都绑定一个activity .url("https://www.baidu.com/s") .addParam("wd","哈哈") .get(new HttpUtil.HttpResult<String>() { @Override public void onSuccess(String obj) {//可只处理成功情况 TextView textView = (TextView) findViewById(R.id.text); textView.setText(obj); } }); HttpUtil.remove(builder);//取消单个请求 } @Override protected void onDestroy() { super.onDestroy(); HttpUtil.remove(this);//在结束取消activity所有网络请求,建议在baseActivity里 }}
最后是地址
github:https://github.com/WanYouZhi/HttpUtil
git:git@github.com:WanYouZhi/HttpUtil.git
阅读全文
0 0
- 安卓项目易用Ohttp封装
- 安卓数据库封装
- 安卓Dialog封装
- 安卓OkHttp封装
- 安卓LOG封装类
- 安卓Toast封装类
- 安卓okhttp的封装
- 安卓SharedPreferences封装类
- 安卓okhttp网络封装
- 安卓LOG封装类
- 安卓项目打印信息的封装(便于筛选和调试)
- (二)安卓框架搭建之项目Butterknife引入,Application的简单封装
- 用Eclipse创建安卓项目
- 新建安卓项目
- 安卓--即时通讯项目
- 安卓github项目
- 安卓项目依赖
- 安卓项目复制
- Linux下tar gz的含义
- centOS7 安装PHP5.6版本
- 【Python编程:从入门到实践】第三章:列表简介
- Android环信设置聊天头像问题
- python内置函数的一些整理
- 安卓项目易用Ohttp封装
- Java bean 是个什么概念?
- 使PowerShell拥有Ubuntu默认终端界面
- weex更新方案探索(六)
- 刷新一下字节度量...(1BB)
- 阿里编码规约怎么使用?
- PMD安装和使用
- POJO与JavaBean的区别
- 正则表达式 regexp