今天看了几篇关于OkHttp网络框架的博客,并且自己写了Demo将博客中的代码应用了进去,和大家一起分享一下:
大家也可以借鉴以下两位博主的博客:
- http://blog.csdn.net/u010046908/article/details/50614615
http://blog.csdn.net/lmj623565791/article/details/47911083
核心工具类:OkHttpUtils.class
辅助工具类:JsonUtils.class
快速Json解析库Gson
发起一个Get请求:
private void loadDataOfGet() {
OkHttpUtils.get("https://www.baidu.com/", new OkHttpUtils.ResultCallback<String>() { @Override public void onSuccess(String response) { Log.d("---onSuccess--->", "----response--->" + response.toString()); } @Override public void onFailure(Exception e) { } });
}
发起一个Post请求:
private void loadDataOfPost() {
List<OkHttpUtils.Param> list = new ArrayList<>(); list.add(new OkHttpUtils.Param("column", "1")); list.add(new OkHttpUtils.Param("PageSize", "10")); list.add(new OkHttpUtils.Param("pageIndex", "1")); OkHttpUtils.post("http://litchiapi.jstv.com/api/GetFeeds", new OkHttpUtils.ResultCallback<NewsBean>() { @Override public void onSuccess(NewsBean response) { if (response != null) { String status = response.getStatus(); if (TextUtils.isEmpty(status)) { // 服务器code异常 Toast.makeText(MainActivity.this, "服务器正在升级中...", Toast.LENGTH_SHORT).show(); } else if (status.equals("ok")) { // UI线程 Toast.makeText(MainActivity.this, "加载成功", Toast.LENGTH_SHORT).show(); textResult.setText("加载结果:" + response.toString()); } else { // 失败 Toast.makeText(MainActivity.this, status, Toast.LENGTH_SHORT).show(); } } } @Override public void onFailure(Exception e) { Toast.makeText(MainActivity.this, "网络连接失败,请检查网络连接", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } }, list); }
有没有觉得So Easy.
另外Demo中用到了Logger库,体验体验哦:https://github.com/orhanobut/logger
不说了,直接上代码:https://github.com/changhelaobiao/OkHttpDemo
PS:小编项目中用的是Volley网络框架,有机会再跟大家分享。