Android 试着抓住语句的麻烦

Android 试着抓住语句的麻烦,android,try-catch,Android,Try Catch,因此,我在下面的屏幕截图中看到了导致类型异常的这段代码 我被告知我需要将它包装在一个try-catch块中,用try-catch包装每个invidual块可以消除错误,但是force在Android上关闭。有人能给我指一下正确的方向吗 @Override public void onStart() { HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet("h

因此,我在下面的屏幕截图中看到了导致类型异常的这段代码

我被告知我需要将它包装在一个try-catch块中,用try-catch包装每个invidual块可以消除错误,但是force在Android上关闭。有人能给我指一下正确的方向吗

@Override
    public void onStart() {
        HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet("http://1.php");
        HttpResponse response = client.execute(request);
        BufferedReader rd = new BufferedReader
        (new InputStreamReader(response.getEntity().getContent()));
        TextView textView = (TextView) findViewById(R.id.TextView1);
        String line = "";
        while ((line = rd.readLine()) != null) {
            textView.append(line);
        }
    }

谢谢大家。

应该是这样的:

try {

   //do something here
   //call method

}catch (IOException ioe){

// do something else
// log ioe

}
@Override
    public void onStart() {

   try {
    HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet("http://1.php");
    HttpResponse response = client.execute(request);
    BufferedReader rd = new BufferedReader
    (new InputStreamReader(response.getEntity().getContent()));
    TextView textView = (TextView) findViewById(R.id.TextView1);
    String line = "";
    while ((line = rd.readLine()) != null) {
        textView.append(line);
    }

    }catch (IOException ex){
    }
}

最好使用
AsyncTask
在单独的线程上完成此任务。

您似乎在UI线程上执行网络IO,这是个坏主意。因此,自从安卓2.3以来,系统“捕获”了这一点并终止了进程

你应该把

 HttpResponse response = client.execute(request);

进入后台线程,例如通过使用
AsyncTask

,您应该阅读一些关于java的基本知识。我建议用Java语言思考,你甚至应该在做任何事情之前使用谷歌。我同意,这应该是你最后的选择