Okhttp Get请求的简单应用

本文详细介绍了如何使用 OkHttp 发起 Get 请求,并针对新手常见问题提供了实用建议。文章通过一个具体的示例展示了如何处理网络请求及响应,特别强调了正确处理响应的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          网上关于okhttp  的Get应用,代码很容易就可以找到。

<!--
Android使用OkHttp,断网再联网,发不出请求,使用OkHttp联网框架,断网之后,
很容易再也请求不到网络。加个权限解决-->
<uses-permission android:name="android.permission.NETWORK_PROVIDER" />

先上代码:
       现在activity的onCreate()方法中开启一个子线程
      

(1)
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_request);
    text_view = (TextView) findViewById(R.id.text_view);
    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                enqueue();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }).start();
}
private void enqueue(){
    Request request = new Request.Builder()
            .url("http://192.168.1.105:8080/girl/a.txt")
            .build();
    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {

        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            if(response.isSuccessful()){
		/**上面除了网址需要修改别的都可以直接复制使用
 		   但是新手在接触到这里的时候请注意
                   response.body().string();是请求之后的回应,在第一次请求之后得到的回应
                   是有值的,而且获取的值都需要继续使用,这时候就需要立刻将
  		   有值的回应赋值给一个变量,方便后边使用。
  		   如果不是第一次出现就复制,第二次就是空的,因为请求一次只有一次响应,
		   再次使用response.body().string() 的时候 就是空的。
		
                String name = response.body().string();
		/**当赋值后,使用这个变量的时候需要toString()
		Message msg = new Message();
 		 msg.what = 123;
		 msg.obj = name.toString();
		handler.sendMessage(msg);
                
            }
        }

    });
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值