innocentcha 2019-08-07 20:06 采纳率: 50%
浏览 516

AndroidStudio 用OkHttp访问云端JSON时,模拟机成功,真机失败

[结帖] 需要https,不能用http
源代码如下:

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

private TextView responseText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button sendRequest=(Button)findViewById(R.id.send_request);
    responseText=(TextView)findViewById(R.id.response_text);
    sendRequest.setOnClickListener(this);
}

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

private void sendRequestWithOkHttp(){
    new Thread(new Runnable() {
        @Override
        public void run() {
            try{
                OkHttpClient client=new OkHttpClient();
                Request request=new Request.Builder().url("http://guolin.tech/api/china").build();
                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() {
            responseText.setText(response);
        }
    });
}

}
模拟机的图片如下:
模拟机的图片
真机调试的时候,按按钮没反应,不会显示文字。
最近装了新版本的Android Studio 不知道有没有影响

  • 写回答

2条回答 默认 最新

  • Les121466 2019-08-07 22:54
    关注

    卸载一下android studio呢

    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办