我正在創建一個移動應用程序,它使用AsyncTask從遠程數據庫更新本地數據庫。這工作正常,但視圖(旋轉器和表數據)依賴於本地數據庫中的數據。如果在初始運行asynctask之後這樣做很好,但在第一次加載時屏幕是空白的。等待,而Asynctask完成android
我:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences sp = getSharedPreferences("***", 0);
boolean initalSync = sp.getBoolean("***.android.db.inital", false);
if(initalSync==false){
AsyncTaskRunner backgroundTask = new AsyncTaskRunner(this);
backgroundTask.execute();
}
因爲從遠程數據庫遠程數據庫的本地數據庫的更新是一個後臺任務,如果initalsync布爾是假執行。
該片段顯示基於本地數據庫的信息,並且是默認/啓動視圖。
我目前運行
if(initalSync==true){
// DISPLAY TABLE OF DATA
}
我知道我不能「暫停」的線程,我不能執行本地表數據顯示在onPostExecute我會更新在其他時間數據庫保護它。
我基本上希望顯示進度條,等待的AsyncTask完成,然後允許的代碼的其餘部分運行
任何想法?
是的,你不能等待,你需要顯示的東西,而你沒有別的可以顯示。進度條是一個好主意。我不明白的是,你這樣做的問題在哪裏。 – zapl