我正在尝试通过一些教程中的示例运行应用程序。在这个应用程序中我有
class LoadThread extends Thread {
@Override
public void run() {
InputStream in = connection.getInputStream();
...
}
}
然后我在片段中调用它:
public class MyFragment extends ListFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
new LoadThread().run();
}
...
}
但我得到了例外
android.os.NetworkOnMainThreadException 指向以下行:
InputStream inputStream = connection.getInputStream();
但为什么?..这一行位于LoadThread.run()
,不是主线,不是吗?
答案 0 :(得分:1)
要开始start()
,请致电run()
,而不是var bytes = Utf8.parse('myString');
。