我需要连接到postgreSQL。当我尝试运行此代码时,我遇到异常:NetworkOnMyThreadExcepion。我已经制作了新的主题,但它仍然是同样的问题。
...
final ErrorFragment error = new ErrorFragment();
...
new Thread(new Runnable(){
public void run(){
/* Properties prop, String url*/
try {
Connection conn = DriverManager.getConnection(url, prop);
} catch (final SQLException e) {
MainActivity.this.runOnUiThread(new Runnable(){
public void run(){
error.setArguments(exceptionToBundle(e));
error.show(getFragmentManager(), "tagError");
}
});
}
}
}).run();
...
private Bundle exceptionToBundle(Exception e){
...
}
答案 0 :(得分:0)
正如@tyczj已经提到的那样,您必须使用start()
来启动Thread
。 run()
是将在新Thread
中执行的方法。如果您直接致电run()
,请在当前Thread
上运行您的代码。
所以不要这样:
new Thread(...).run();
试试这个:
new Thread(...).start();