OkHttp实践1
来源:互联网 发布:二战美国驱逐舰数据 编辑:程序博客网 时间:2024/06/06 07:10
import android.os.AsyncTask;import java.io.IOException;import java.util.List;import java.util.Map;import okhttp3.Call;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;/** * Created by halong on 2017/6/7. */public class StringDownloader { private OkHttpClient mOkHttpClient = new OkHttpClient(); public void downloadString(String url, List<Map<String, String>> params, Callback mCallback) { new StringDownloadTask(url, params, mCallback).execute(); } public class StringDownloadTask extends AsyncTask<Void, Integer, String> { String url; List<Map<String, String>> params; Callback mCallback; public StringDownloadTask(String url, List<Map<String, String>> params, Callback mCallback) { this.url = url; this.params = params; this.mCallback = mCallback; } @Override protected String doInBackground(Void... voids) { Request request = null; if (params == null) { request = new Request.Builder().url(url).build(); } else { FormBody.Builder mFormBodyBuider = new FormBody.Builder(); for (Map<String, String> param : params) { for (String key : param.keySet()) { mFormBodyBuider.add(key, param.get(key)); } } request = new Request.Builder().url(url).post(mFormBodyBuider.build()).build(); } Call mCall = mOkHttpClient.newCall(request); try { Response mResponse = mCall.execute(); return mResponse.body().string(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); if (s != null) { mCallback.onSuccess(s); } else { mCallback.onFailure(); } } } public interface Callback { void onSuccess(String result); void onFailure(); }}
阅读全文
0 0
- OkHttp实践1
- Okhttp实践
- RxJava+Retrofit+okhttp实践结合
- OkHttp接入HttpDNS,最佳实践
- Rxjava+retrofit2+OKHttp+GSON实践
- rxjava+retrofit+okhttp+mvp 简单实践
- Android OkHttp相关解析 实践篇
- Android OkHttp(1)
- Android OkHttp(1)
- OkHttp指南(1)
- OkHttp 源码解析(1)
- OkHttp 基础(1)
- OkHttp由浅入深(1)
- Okhttp源码解析1
- android -- okhttp(1)
- OkHttp
- okhttp
- OkHttp
- windows版atom的Markdown语言支持的一点问题
- Windows和Ubuntu下Django环境搭建
- 【CSS优先级与!important】
- 选择排序与冒泡排序
- Linux共享内存实现进程间通信
- OkHttp实践1
- LeetCode笔记:7. Reverse Integer
- MySQL安装之没有配置向导
- intellij idea server 注册地址
- xuptoj 1526:Huffuman树
- 蓝桥-ALGO-18-单词接龙
- macOS: 安装OpenCV 3.2.0 和Python 3.6.0
- python-urllib库学习
- JVM常用参数配置与内存溢出