0
try {
    HttpClient client = new DefaultHttpClient();
    HttpGet get = new HttpGet("http://app2.nea.gov.sg/anti-pollution-radiation-protection/air-pollution/psi/psi-readings-over-the-last-24-hours");
    HttpResponse response;

    response = client.execute(get);
    Toast.makeText(MainActivity.this, "WAD", Toast.LENGTH_SHORT).show();
    HttpEntity entity = response.getEntity();

    InputStream in = entity.getContent();
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line+"\n");
    }
    in.close();
    charset = sb.toString();
    tv.setText(charset);
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

在这一行中,

响应 = client.execute(get);

该程序似乎没有继续代码,它只是挂在那里并且什么都不做。

我已经声明了互联网权限,但我找不到它有什么问题?

4

1 回答 1

2

尽管您没有提及任何相关内容并且您的问题也不清楚,但您可能正在主应用程序线程中执行网络操作。

如果您在 Android 3.0 或更高版本上进行测试,这将导致NetworkOnMainThreadException,但会使用户界面在早期版本上“挂起”/“冻结”。为避免这种情况,请始终在非 UI 线程上执行所有网络操作,例如AsyncTask

于 2013-06-26T16:28:26.683 回答