2013-10-14 139 views
0

我有一個應用程序,它驗證用戶訪問內部活動,應用程序是有幾個活動,從以前的活動中獲取數據混亂的活動生命週期

所以我對活動的生命週期有點糊塗

我讀捆綁數據放入活動OnCreate中的本地變量,並根據該數據讀取異步任務中的數據庫。此數據庫數據顯示在我的應用程序中。

現在,如果我切換到另一個應用程序,將我的應用程序有一個局部變量/靜態變量的數據(從數據庫讀取數據)和他們在一起,

我有這使用戶票證等信息SingleInstance類,是該變量如果我們之間打了電話,它們會記住應用程序。

我對這部分有點困惑。

由於文檔建議您需要將未保存的數據存儲在共享首選項中。

這將是很好,如果有人對突出..

+0

活動的數據仍然與活動變量,如果它甚至在後臺加載... onResume允許你在你的代碼中放置一些控制語句來檢測從背景到地面 –

+0

因此,如果我在onCreate中執行異步任務和異步任務「onPost方法」將推送已讀取的數據到我的用戶界面。這個UI將持續數據,以防止睡眠或鎖解鎖或切換到另一個應用程序 – Kasma

回答

2

嗯,首先,你需要確保你理解根據句子一個新的應用和新的活動之間的差別:

現在,如果我切換到另一個應用程序,將我的應用程序與他們DB數據切換回我的應用程序

後,如果您實際上意味着不同的應用程序,得到的答案是「NO在另一個應用程序(如果是你的應用程序也是)「你不能有交流切換到另一個應用程序數據庫(至少不是直接),唯一的方法是如果該應用程序實現了一個內容提供者與另一個應用程序共享其數據,默認情況下,android應用程序就像沙盒,除非特別聲明,否則不會與其他應用程序共享任何信息,兩個應用程序之間有另一個規則簽署了相同的密鑰,但這是一個不同的故事和一個巨大的進步主題不涉及到這個問題...

如果你的意思是去另一個應用程序(不是我的),然後嘗試再次從我的應用程序中使用它「的答案是」是「,數據庫中的信息可以在屬於同一應用程序的」活動,服務「等所有構建組件中訪問,數據庫中的信息即使完全關閉應用程序(以及共享首選項),但共享首選項和數據庫與知識有很大不同在使用一個或另一個區分優秀開發人員和優秀開發人員時,金規則(但不是唯一的或最好的)是,DB用於需要某種預處理或後處理以獲取適當值的複雜查詢和關係數據,意思是,雖然共享偏好只是一個「鍵/值」映射,堅持在應用上下文

希望這有助於。

問候!

+0

我的意思是DB數據表示本地變量從數據庫讀取的數據。所以如果我在onCreate和Async任務中執行Async任務,「onPost方法」會將已讀取的db數據推送到我的用戶界面。如果睡眠或鎖定解鎖或切換到另一個應用程序,此UI將保留數據 – Kasma

0

日期在後臺運行時不受影響。但是,數據堅持特定的活動。如果應用程序中的活動在後臺運行時完成或銷燬,則數據會分別受到影響。要在後臺運行時關注活動,您必須有效地使用onResume(),onPause(),onDestroy()等方法。

乾杯!:)