标签:error: ora ttext exec nts pat 技术分享 ase cas
okhttp-utils是张鸿洋是基于OkHttp封装的框架库。实际工作中,使用的不多,对于小型项目的网络请求和文件传输可以考虑直接使用。否则还是基于主流的OkHttp+Retrift+RxJava框架。
对于OkHttp使用,可以自己根据自己项目需要,做一些封装。如果应付手头临时项目,可以借鉴GitHub上一些开源OkHttp封装库.只要去GitHub上搜索下OkHttp 会出来很多封装的框架。
分析okhttp-utils使用,只是用于自己学习了解。
OkHttpUtils .get() .url(url) .id(100) .build() .execute(new MyStringCallback());
OkHttpUtils .postString() .url(url) .mediaType(MediaType.parse("application/json; charset=utf-8")) .content(new Gson().toJson(new User("zhy", "123"))) .build() .execute(new MyStringCallback());
OkHttpUtils .postFile() .url(url) .file(file) .build() .execute(new MyStringCallback());
OkHttpUtils .get() .url(url) .tag(this) .build() .connTimeOut(20000) .readTimeOut(20000) .writeTimeOut(20000) .execute(new BitmapCallback() { @Override public void onError(Call call, Exception e, int id) { mTv.setText("onError:" + e.getMessage()); } @Override public void onResponse(Bitmap bitmap, int id) { Log.e("TAG", "onResponse:complete"); mImageView.setImageBitmap(bitmap); } });
OkHttpUtils.post()// .addFile("mFile", "messenger_01.png", file) .url(url) .params(params)//带表单数据 .headers(headers) .build() .execute(new MyStringCallback());
OkHttpUtils.post() .addFile("mFile", "messenger_01.png", file) .addFile("mFile", "test1.txt", file2) .url(url) .params(params)//带表单数据 .build() .execute(new MyStringCallback());
OkHttpUtils .get() .url(url) .build() .execute(new FileCallBack(Environment.getExternalStorageDirectory().getAbsolutePath(), "gson-2.2.1.jar") { @Override public void onBefore(Request request, int id) { } @Override public void inProgress(float progress, long total, int id) { //进度条显示 mProgressBar.setProgress((int) (100 * progress)); Log.e(TAG, "inProgress :" + (int) (100 * progress)); } @Override public void onError(Call call, Exception e, int id) { Log.e(TAG, "onError :" + e.getMessage()); } @Override public void onResponse(File file, int id) { Log.e(TAG, "onResponse :" + file.getAbsolutePath()); } });
public class MyStringCallback extends StringCallback { @Override public void onBefore(Request request, int id) { } @Override public void onAfter(int id) { } @Override public void onError(Call call, Exception e, int id) { e.printStackTrace(); } @Override public void onResponse(String response, int id) { Log.e(TAG, "onResponse:complete"); mTv.setText("onResponse:" + response); switch (id) { case 100: Toast.makeText(MainActivity.this, "http", Toast.LENGTH_SHORT).show(); break; case 101: Toast.makeText(MainActivity.this, "https", Toast.LENGTH_SHORT).show(); break; } } @Override public void inProgress(float progress, long total, int id) { Log.e(TAG, "inProgress:" + progress); mProgressBar.setProgress((int) (100 * progress)); } }
Android 开源框架 ( 二 ) 基于OkHttp进一步封装的okhttp-utils介绍
标签:error: ora ttext exec nts pat 技术分享 ase cas
原文地址:https://www.cnblogs.com/bugzone/p/okhttp-utils.html