【发布时间】:2015-03-21 11:18:34
【问题描述】:
我编写如下代码在 Android 中连接网络
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
InitTask task = new InitTask();
Toast.makeText(getApplicationContext(), task.doInBackground(), Toast.LENGTH_LONG).show();
}
private class InitTask extends AsyncTask<Void, Void, String>{
protected String doInBackground(Void... p){
// Do network thing...
return str;
}
}
}
我使用了AsyncTask,但出现了NetworkOnMainThreadException。
是否允许将 AsyncTask 设为 main Activity 中的内部类? (我在http://developer.android.com/training/basics/network-ops/connecting.html举了个例子)
有什么问题?
【问题讨论】:
-
您没有正确使用 AsyncTask。仅调用 doInBackground 不会创建线程。
标签: java android android-asynctask