我正在開發Android應用程序以用於家庭自動化。 我正在爲具有不同數據字段的設備(家用電器)創建對象,例如設備名稱,設備ID和設備狀態等。 我想將這些對象數據存儲在Android存儲器中,以便即使重新啓動我的應用程序,我也可以訪問這些數據。如何在Android中存儲對象,以便即使重新啓動應用程序時也可訪問對象
我研究發現Internal Storage和SQLite有兩種方法可以用來存儲這種類型的數據。 哪種方法更適合此應用?
我正在開發Android應用程序以用於家庭自動化。 我正在爲具有不同數據字段的設備(家用電器)創建對象,例如設備名稱,設備ID和設備狀態等。 我想將這些對象數據存儲在Android存儲器中,以便即使重新啓動我的應用程序,我也可以訪問這些數據。如何在Android中存儲對象,以便即使重新啓動應用程序時也可訪問對象
我研究發現Internal Storage和SQLite有兩種方法可以用來存儲這種類型的數據。 哪種方法更適合此應用?
做這樣的事情:
您可以存儲的onSaveInstanceState中的束()作爲Parcelable對象Java對象。但是你的模型類將不得不實現Parcelable接口。
你已經在你的模型類實現Parcelable接口後,覆蓋在你的活動/片段的onSaveInstanceState()方法:現在
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelable(OBJ_KEY,yourObject);
}
,在你onCreate方法從包中獲得的價值:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState!=null){
yourPreservedObj = savedInstanceState.getParcelable(OBJ_KEY);//when your app re starts you have your object here.
}
}
但如果關閉並重新啓動應用程序,saveInstanceStates是否可訪問? – vipin
不,如果應用程序真的關閉 – user2122552
在這種情況下,我的朋友,最好的選擇是使用SQLite數據庫。將urj obj序列化成字節流並存儲它。 –
是什麼樣的對象呢?它包含什麼? – KOTIOS
如果數據有限,請使用共享首選項。 – SANAT
它是我創建的簡單java類的對象(實例)。 – vipin