Okhtt异步解析

来源:互联网 发布:知乎海贼王回答集锦 编辑:程序博客网 时间:2024/04/30 07:31
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);            }        });    }}
原创粉丝点击