可能重複:
Android: Saving a state during Android lifecycle的Android的OnDestroy()之前保存狀態
我想保存在用戶前的文件的一些值終止activity.In我應該工具,其方法這個?
除了使用文件或sql lite有沒有一種方法來存儲複雜的數據,如佈局(已動態更改)?
「onDestroy()注意:不要指望這個方法被稱爲保存數據的地方!」
可能重複:
Android: Saving a state during Android lifecycle的Android的OnDestroy()之前保存狀態
我想保存在用戶前的文件的一些值終止activity.In我應該工具,其方法這個?
除了使用文件或sql lite有沒有一種方法來存儲複雜的數據,如佈局(已動態更改)?
「onDestroy()注意:不要指望這個方法被稱爲保存數據的地方!」
佈局是必然的背景下該活動持有它,因此您不希望將完整的View
對象保存到文件,因爲它附加到的活動是無效的。
最簡單的方法(取決於要保存的數據量和類型)使用SharedPreferences庫。這是一個文件I/O包裝器,使保存和檢索數據非常簡單。您可以將特定佈局數據保存在onPause()
方法中,重建佈局的規格爲onResume()
。
如果您需要的數據對於SharedPreferences
太複雜,您必須將其保存爲使用其他保存方法(在該鏈接中找到)。重建佈局的過程將是相同的。
我會在你的onPause方法中調用所有你想傳遞給包的東西。這裏是android lifecycle上的一些東西,爲什麼不嘗試在csv中存儲的東西,如果你想從文件加載。 (逗號分隔值)(althoughthat主要用於基於區塊的遊戲)
爲什麼不使用SharedPreference保存數據?這裏是Android文檔:http://developer.android.com/guide/topics/data/data-storage.html#pref
如果我有例如一個tablelayout已被改變,並添加了新的行(2 textview每行,10行),我應該檢索每一行的內容,保存它們,並重建在onResume的佈局? 我上面提到的文件被用來保存2個整數(練習) – zSt
是的。使用'onPause()'中的一種方法保存它們(當Activity離開視圖時),並在'onResume()'中重建它們(當Activity即將進入視圖時)。 – DeeV