封装OkHttp工具类
2018-01-03 14:56
218 查看
package cgg.com.scg.Utils; import android.annotation.SuppressLint; import android.os.Handler; import android.os.Message; import android.util.Log; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; /** * author: shichenguang * date: 2018/1/3 11:54 * email: none */ public class NetUtls { private MyCallBack myCallBack; @SuppressLint("HandlerLeak") private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { int tab = msg.what; String json = (String) msg.obj; switch (tab) { case 0: myCallBack.mError("请求失败!"); break; case 1: myCallBack.mSucceed(json); break; } } }; public NetUtls(String url) { // 创建okHttpClient OkHttpClient okHttpClient = new OkHttpClient(); // 获取请求对象 final Request request = new Request.Builder().url(url).build(); // 获取Call Call call = okHttpClient.newCall(request); // 执行请求 call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) {// 失败回调 Log.e("TAG", e.getMessage().toString()); Message msg = new Message(); msg.what = 0 ; msg.obj = "请求失败"; handler.sendMessage(msg); } @Override public void onResponse(Call call, Response response) throws IOException { // Log.e("TAG", response.body().string()); Message msg = new Message(); msg.what = 1 ; msg.obj = response.body().string(); //msg.obj = "How are you"; handler.sendMessage(msg); } }); } // 创建内部接口 public interface MyCallBack { void mError(String err); void mSucceed(String succeed); } public void setMyCallBack(MyCallBack myCallBack){ this.myCallBack = myCallBack; } }
package cgg.com.scg; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import cgg.com.scg.Utils.NetUtls; public class MainActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.tv); NetUtls netUtls = new NetUtls("http://blog.csdn.net/u011692041/article/details/51371367"); netUtls.setMyCallBack(new NetUtls.MyCallBack() { @Override public void mError(String err) { textView.setText(err); } @Override public void mSucceed(String succeed) { textView.setText(succeed); } }); } }
相关文章推荐
- 网络请求工具类之OkHttp3封装(二)上(支持请求取消、异步请求的线程切换)
- OkHttp使用及工具类封装
- 仿京东APP分类页面(mvp模式+OkHttp封装工具类+拦截器+弱引用回收)
- OKhttp二次封装工具类
- Okhttp工具类封装
- 网络请求工具类之OkHttp3封装(二)下(支持请求取消、异步请求的线程切换)
- 非常简单的OKhttp封装工具类
- 封装OkHttp工具类
- okhttp封装工具类
- OkHttp网络连接封装工具类
- 以OKHttp为基础封装网络请求工具类
- Android OkHttp网络连接封装工具类
- 基于鸿洋okhttp封装工具类okhttputils 返回数据回调封装
- 自己简单的封装一个OKHttp工具类
- OkHttp网络连接封装工具类
- OKhttp封装的工具类 可以拷到自己项目中直接用
- Android Okhttp工具类的封装
- 简单的封装了一个OKHttp网络请求工具类,直接粘贴进去调用使用,很方便
- Okhttp封装工具类
- okhttp3简单封装GET和POST请求工具类