我是一个开发人员android开发人员。我正在尝试此代码。但它总是陷入例外。但是,如果我删除BufferedReader,那么它工作正常。缓冲读者不工作
package com.toha.buffercheck;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.EditText;
import android.widget.TextView;
public class Main extends Activity {
EditText ets , etc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ets = (EditText) findViewById(R.id.editText1);
etc = (EditText) findViewById(R.id.editText2);
final TextView tv = (TextView) findViewById(R.id.textView1);
try {
URL url = null;
url = new URL("http://www.google.com");
URLConnection conn = url.openConnection();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
tv.setText("Working Till Now");
}
catch(Exception e) {
tv.setText("Stopped Working");
}
}
和logcat的口口声声说“该应用程序可能是太多的工作在其主线程”
PS:它工作正常,在模拟器版本2.3.3 但不能做仿真器版本4.2.2
它不是在4.2.2版本的工作,因为自从Android 2.3版。 3你不能在主线程上执行网络工作。只需使用AsyncTask – Daniel 2013-04-28 05:44:58