OKHttp的使用

左心房为你撑大大i 提交于 2019-12-27 14:21:48
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    TextView responseText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //按钮
        Button sendRequest = (Button) findViewById(R.id.send_result);
        //文本框
        responseText = (TextView) findViewById(R.id.repose_text);
        sendRequest.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        if(v.getId() == R.id.send_result){
            sendRequestHttp();
        }
    }

    private  void sendRequestHttp(){
        //开启线程来发起网络请求
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    //创建OkHttpClient实例
                    OkHttpClient client = new OkHttpClient();
                    //发起一条http请求要创建Request
                    Request request = new Request.Builder()
                            .url("https://www.baidu.com") //设置网络地址
                            .build();
                    //execute()发送请求并回去服务器返回的数据 ;response就是服务器返回的数据
                    Response response = client.newCall(request).execute();
                    //获取返回的具体内容
                    String responseData = response.body().string();
                    showResponse(responseData);
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }).start();
    }


    private  void showResponse(final String response){
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                //讲结果显示到UI上面
                responseText.setText(response);
            }
        });

    }
}

注意记得添加依赖库:

 implementation 'com.squareup.okhttp3:okhttp:3.4.1'

添加权限

    <uses-permission android:name="android.permission.INTERNET"/>

其中还需要注意的是把Url中的http改为https这样就能显示内容了

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!