-2
私はNetworkOnMainThreadExceptionを取得しますが、私が見ているように、それはメインスレッドにはありません。ここに私のコードで例外がrepository.getLatestRevision();
(run()
にcatchedとのコース)でスローされますアンドロイド:新しいスレッドのNetworkOnMainThreadException?
public class MainActivity extends Activity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
sendFiles();
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.run();
}
void sendFiles() throws SVNException, IOException {
DAVRepositoryFactory.setup();
SVNURL url = SVNURL.parseURIEncoded("...");
SVNRepository repository = DAVRepositoryFactory.create(url);
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager("...", "...".toCharArray());
repository.setAuthenticationManager(authManager);
long r= repository.getLatestRevision();
}
}
(私はsvnkit.comからライブラリを使用します)。誰も私に説明することができます、なぜですか?
ネットワーク操作にUIスレッドを使用しているためです。 'AysncTask'を使用してください。もっと参考にしてください。[here](https://developer.android.com/reference/android/os/AsyncTask.html)を読んでください。 –