0
我有一個AsyncTask將數據發佈到sql數據庫中,然後從該活動中獲取該數據。Android AsyncTask狀態循環
問題是,因爲數據庫是空的,當應用程序第一次啓動它會崩潰嘗試從中獲取的東西。所以我試圖做一個while()循環,這將使得活動等待AsyncTask完成,然後獲取數據。我得到的是一個白色的屏幕,幾秒鐘後,一個「沒有響應」對話框:
MyAsyncTask task = new MyAsyncTask(this, country, img);
task.execute();
SetSql mydb = new SetSql(this);
mydb.open();
while(task.getStatus()!=AsyncTask.Status.FINISHED){
//wait
}
countryCode = mydb.getLatestCode();
Log.e("debug", countryCode);
mydb.close();
原因IM使用的數據庫無論如何是因爲我無法想出一個辦法,從發送一個簡單的字符串返回我的AsyncTask,有沒有辦法從postExecute做到這一點?
對不起,即時通訊有點新asyncTasks,我不知道如何做到這一點......我只是想要一個簡單的方法來修復我的怪異循環或發送AsyncTask數據以簡單的方式活動... – arielschon12
我會做出更好的示例代碼,給我一點時間 –
編輯製作,你現在明白嗎?我創建的Task類是一個當然的例子,所以添加你自己的方法和構造函數變量。你不能阻止你的onCreate等待數據,這是不好的。 –