我正在調用一個正在主線程上執行網絡操作的類,導致我的應用程序在更新的設備上爆炸。所以我試着將呼叫轉移到我的主要活動中的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。我知道我的亞馬遜課程正常工作,所以它與我AsyncTask做的事情,但我不知道?
看看我的例子這裏瞭解如何執行異步任務,以及如何獲得它的結果在回調函數:http://stackoverflow.com/questions/13713751/json-object-null-android-asynctask/13713852#13713852 – lahsrah
你的代碼阻止你查看是否有拋出的異常。把一些日誌記錄在你的catch異常(或更好的,[刪除此](http://stackoverflow.com/questions/21938/is-it-really-that-bad-to-catch-a-general-exception))。 – m0skit0
傳遞通用標籤,類RetreiveAmazonNodesXML擴展AsyncTask