关于android网络请求封装接口回调
来源:互联网 发布:女王级战列舰 知乎 编辑:程序博客网 时间:2024/05/20 22:02
前些天写了个关于android OKHTTP get请求的回调接口,今天与大家共享一下,有不足之处请多指教!不多上代码!
当然我们首先定义一条接口:
<span style="font-size:18px;">/** * Created by TP_HUYE on 2016/9/6. * author:赵先森 * QQ:2691608900 */public interface Httpinfce { void onResponse(String data);}</span>
网络请求及激活接口的工具类
<pre name="code" class="java"> public class OkHttpUtils { private String result; Context context; private static String res; public void getHttp(String url,Context context) { context = context; OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Request request, IOException e) { //请求失败将将传给调用者失败的字符串 result = "失败";<span style="white-space:pre"></span> handler.sendEmptyMessage(1); }
@Override public void onResponse(Response response) throws IOException {
<span style="white-space:pre"></span>//请求成功,直接将请求成功的值回传给调用者 result = response.body().string(); handler.sendEmptyMessage(1); } }); } private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 1:
<span style="white-space:pre"></span>//调用接口里的方法传值 http.onResponse(result); break; } } };
Httpinfce http; public void openOnFailure(Httpinfce httpinfce){
<span style="white-space:pre"></span>//这是调用者调用时需要传进来一个接口的.... this.http = httpinfce; }}
//下面就是调用者了
<span style="font-size:18px;"> public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); } private void initData() { OkHttpUtils httpUtils = new OkHttpUtils(); httpUtils.openOnFailure(new Httpinfce() { @Override public void onResponse(String data) {//介个参数就是您请求返回的值了 urldata = data; if (urldata.equals(TextMark.HTTP_REULST)) { //失败//介个是缓存,可直接注释掉 String pp = SaveDataUtils.getString(MainActivity.this, "home", null); handler.sendEmptyMessage(1); Log.i("tetee", pp); } else { //成功 SaveDataUtils.saveData(MainActivity.this, "home", urldata); } Log.i("urldata", urldata); } }); httpUtils.getHttp("此处是您要请求的接口", MainActivity.this); }}</span>
0 0
- 关于android网络请求封装接口回调
- 网络请求接口封装方式
- android封装网络请求
- 关于android-async-http的使用,封装网络请求
- Android Http网络请求封装
- Android网络请求代码封装
- android Xutils3网络请求封装
- Android网络请求简单封装
- Android封装OkHttp网络请求
- iOS开发-网络-合理封装请求接口
- iOS开发-网络-合理封装请求接口
- 【微信小程序】网络请求接口封装实例
- 关于Android网络请求
- 小程序请求API接口,网络请求封装
- Android-封装post和get 网络请求
- Android网络请求框架AsyncHttp二次封装
- Android网络请求HttpUtil封装工具类
- android 网络请求封装,可改
- 文章标题
- Hololens入门之空间映射
- centos7精简安装后使用发现没有killall命令
- UVA - 1225 Digit Counting
- echarts时间轴属性参数
- 关于android网络请求封装接口回调
- Category初探
- Linux离线编译安装Python环境
- 学习笔记 新浪微博篇 三 Android SQLiteOpenHelper 类详解
- Android 自定义底部导航栏和动态添加fragment
- 基础备忘:智能指针小分析
- 登录页面图片验证码的实现
- UVA 455 – Periodic Strings
- mysql中orderby和limit同时使用的bug