メインスレッドでネットワーク操作を実行しているクラスを呼び出していたため、最近のデバイスでアプリが爆発しました。そこで、クラスへの呼び出しをメイン アクティビティの AsyncTask 内部クラスに移動しようとしました。しかし今、私はヌル参照の期待を得ています。
これが私のAsyncTaskです:
private class RetreiveAmazonNodesXML extends AsyncTask {
private Exception exception;
@Override
protected Object doInBackground(Object... params) {
try {
childrenBrowseNodesXml = new Amazon(browseNodeId, locality);
} catch (Exception e) {
this.exception = e;
}
return null;
}
}
そして、これが私のアクティビティでそれを呼び出す場所です:
RetreiveAmazonNodesXML test = new RetreiveAmazonNodesXML();
test.execute();
parseXmlFile(childrenBrowseNodesXml.getBrowseNodesXML());
childrenBrowseNodesXml が更新されず、null が返されません。Amazon クラスが正常に動作することはわかっているので、AsyncTask で何かを行っていますが、わかりませんか?