package com.example.okhttp2; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class MainActivity extends AppCompatActivity { //通过Handler睡眠方式吧数据展示到控件上 Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //接受下边发上来的数据 Bundle bundle = msg.getData(); //打印数据 tv.setText(bundle.getString("string")); } }; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); //创建okHttpClient方法 OkHttpClient okHttpClient = new OkHttpClient.Builder().build(); //异步请求网络地址 final Request build = new Request.Builder().url("http://www.baidu.com").build(); //异步进行请求 okHttpClient.newCall(build).enqueue(new Callback() { //失败的返回值 @Override public void onFailure(Call call, IOException e) { Log.i("==========", "onFailure: "+e.getMessage()); } //成功的返回值 @Override public void onResponse(Call call, Response response) throws IOException { //response返回的值 String string = response.body().string(); Log.i("---------", "onResponse: "+string); Message message = Message.obtain(); //创建Bundle方法 Bundle bundle = new Bundle(); //吧解析的数据put到bundle方法里面 bundle.putString("string",string); //吧bundle的数据set到message message.setData(bundle); //发送消息 handler.sendMessage(message); } }); } }
Okhtt异步解析
最新推荐文章于 2022-06-14 01:52:40 发布