的線程內創建處理程序我有一個方法可以從庫項目中創建和調用方法。庫方法從資源加載數據。我在工作者線程上執行此操作,並且在執行此操作時不要觸摸UI。使得呼叫(在工作線程)的方法是:無法在未調用Looper.prepare()
private void testGetXData(){
try {
Data data = new Data();
String xsd = data.getXSD();
importedData = xsd;
} catch (Exception e) {
System.out.println(e.getMessage(););
}
}
和異常情況就行了:
Data data = new Data();
Data
是在我的庫項目的類。而importedData
是模塊級別的字符串。
我並沒有直接使用處理器編輯。我所要調用的方法是:
new Thread(new Runnable() {
public void run() {
testGetXData();
}
}).start();
我這樣做是爲了不阻塞UI線程並獲取可怕的ANR消息。 爲了完整起見,我將資源移至圖書館與服務共享。當資源在應用程序項目中時,這工作得很好。自從我將它移至庫項目之後,它現在才拋出此異常。
此外
如果我註釋掉使用工作者線程和主線程上執行調用,它的作品!然而,我想在後臺線程上執行此操作,但仍會引發異常。
Data()構造函數的代碼是什麼? – iagreen
發佈堆棧跟蹤 – njzk2