2015-03-19 75 views
1

在我的Android應用程序,sqlite數據庫得到安裝時,第一次應用程序安裝.i已經保持亞馬遜aws服務器上的sqlite數據庫。應用程序從那裏下載 分貝。Android ::需要執行一些任務時,Android應用程序恢復不活動

現在,當用戶打開應用程序,它應該檢查服務器上是否有新的數據庫。如果它在那裏,那麼下載,否則使用現有的分貝。

我的問題是我應該在何時以及何時在android應用程序中執行上述數據庫檢查?我希望在應用程序恢復不是特定活動時執行此操作。

我正在做主要活動的Onresume(),但我認爲如果用戶在不同的活動中關閉應用程序,可能會調用或不調用它。我必須考慮性能......

假設我們有活動A,B和C.他們可以在彼此之間跳來跳去。每次調用其中一個時,OnResume()總是被觸發。而用戶可能會離開活動B或C的應用程序,做一些瀏覽,並回過頭來對活動B或C.

請幫助的應用....

回答

0

我發現了一些關於您理解Sqlite的問題。 SQLite是內置的,但未安裝「首次安裝應用程序時」。您使用的db是您第一次使用它時創建的。然後它將永遠存在那裏。當這個數據庫發生錯誤時,你可以更新它。同時,您可以使用Activity的使用壽命方法和一些小的私有布爾參數。例如,A中的boolean flag = false,當你跳到B時,A的onPause會被調用,那麼你可以設置flag = true。然後你迴歸A,會的onResume叫,那麼你可以做這樣的事情:

if(flag){ 
    //check your db status 
    flag=false; 
} else { 
    //do something else here. 
} 
+0

通過說「的SQLite數據庫被安裝第一次應用程序時,安裝了」我的意思是相同的。我已經在sqlite中創建了databse。並且在安裝第一次應用程序時安裝此數據庫。正如你所說的維護活動中的標誌......似乎非常複雜。每次用戶進入或離開活動時,我都希望檢查數據庫狀態。根據表現它不會很好。 – Anjali 2015-03-19 10:32:57