Android 试着抓住语句的麻烦
因此,我在下面的屏幕截图中看到了导致类型异常的这段代码 我被告知我需要将它包装在一个try-catch块中,用try-catch包装每个invidual块可以消除错误,但是force在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
@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语言思考,你甚至应该在做任何事情之前使用谷歌。我同意,这应该是你最后的选择