手写高并发网络请求框架
来源:互联网 发布:网络推广平均工资 编辑:程序博客网 时间:2024/05/20 10:15
1、导入依赖
compile 'com.singleshu88:OkHttpLemon:1.0.2'compile 'com.google.code.gson:gson:2.8.1'2、application中注册
OkHttpLemon.init().initOptions();
3、下载wps
OkHttpLemon.init() .url(wpsUrl) .downFilePath(Environment.getExternalStorageDirectory() + "/wps.apk") .executeDown(new IDownloadCallback() { @Override public void onDownTotalLength(long totalLen) { } @Override public void onDownCurrentLenChange(long alreadyDownLen, double downPercent, long speed) { Log.i("tag00", "-----已下载 " + alreadyDownLen / 1024 / 1024 + "M 下载长度 " + downPercent * 100 + "% " + "下载速度:" + speed / 1000 + "k/s"); } @Override public void onFinish(long alreadyDownLen, long totalLen, String stratTime, String finishTime) { Log.i("tag00", "下载成功。" + stratTime + " " + finishTime); } @Override public void onEorror(int errorCode, String ts) { Log.i("tag00", "下载异常:" + " errorCode: " + errorCode + " errorMsg " + ts); } @Override public void onDownStatusChange(DownloadStatus downStatus) { Log.i("tag00", "状态变更:" + downStatus); } });4、下载文件
OkHttpLemon.init() .url(tabaoUrl) .executeDown(new IDownloadCallback() { @Override public void onDownTotalLength(long totalLen) { } @Override public void onDownCurrentLenChange(long alreadyDownLen, double downPercent, long speed) { Log.i("tag00", "-----已下载 " + alreadyDownLen / 1024 / 1024 + "M 下载长度 " + downPercent * 100 + "% " + "下载速度:" + speed / 1000 + "k/s"); } @Override public void onFinish(long alreadyDownLen, long totalLen, String stratTime, String finishTime) { Log.i("tag00", "下载成功。"); } @Override public void onEorror(int errorCode, String ts) { Log.i("tag00", "下载异常:" + " errorCode: " + errorCode + " errorMsg " + ts); } @Override public void onDownStatusChange(DownloadStatus downStatus) { Log.i("tag00", "状态变更:" + downStatus); } });5、暂停、开始下载
OkHttpLemon.init().pause(wpsUrl);
OkHttpLemon.init().start(wpsUrl);
6、get请求
OkHttpLemon.init().url(Api.BASE_URL+Api.QUERY_POKING) .get(QueryBean.class) .execute(new IDataListener<QueryBean>() { @Override public void onSuccess(QueryBean s) { Toast.makeText(MainActivity.this,"-------"+s.getData().getAmount(),Toast.LENGTH_LONG).show(); } @Override public void onError(int code, String ts) { } });
7、post请求
OkHttpLemon.init().url("http://v3.wufazhuce.com:8000/api/praise/add") .postString("itemid", "1644") .postString("type", "hpcontent") .executes(new IDataListener<String>() { @Override public void onSuccess(String s) { Log.i("tag00", s);// Toast.makeText(MainActivity.this,"-------"+s,Toast.LENGTH_LONG).show(); Gson gson=new Gson(); Bean bean = gson.fromJson(s, Bean.class); Toast.makeText(MainActivity.this,"-------"+bean.getMsg(),Toast.LENGTH_LONG).show(); } @Override public void onError(int code, String ts) { Log.i("tag00", "code:" + code + "提示:" + ts); } });
阅读全文
0 0
- 手写高并发网络请求框架
- Android进阶系列-手写高并发网络访问框架
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- boost高并发网络框架+线程池
- Volley高并发处理网络请求(No1)
- Volley高并发处理网络请求(No2)
- 模拟高并发请求
- 数据结构顺序栈
- JavaScript--引用数据类型--objiect
- 从一个字符数组中读出相应的整数、实数
- Protobuf数据格式解析
- 2017 Multi-University Training Contest
- 手写高并发网络请求框架
- /usr/bin/ld: cannot find -lcblas
- 将字符串首字母大写
- iOS-触发home键和电源键
- 完整的OKhttp请求封装的网络框架
- 细说JDK动态代理的实现原理
- 将整数转换为相应的一个字符数组
- 数据结构链式栈
- JavaScript--引用数据类型--function