簡體   English   中英

如何在Android中存儲對象,以便即使重新啟動應用程序也可以訪問它們

[英]How to store Objects in Android so that they are accessible even when app restarts

我正在開發用於家庭自動化的Android應用程序。 我正在為具有不同數據字段(例如設備名稱,設備ID和設備狀態等)的每個設備(家用電器)創建對象。我想將這些對象數據存儲在android存儲中,以便即使我重新啟動應用程序也可以訪問這些對象數據數據。

我研究發現,內部存儲和SQLite是可用於存儲此類數據的2種方法。 哪種方法更適合此應用?

做這樣的事情:

您可以將Java對象存儲在onSaveInstanceState()的捆綁包中作為Parcelable對象。 但是您的模型類將必須實現Parcelable接口。

在模型類中實現Parcelable接口之后,請在活動/片段中重寫onSaveInstanceState()方法:

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putParcelable(OBJ_KEY,yourObject);
}

現在,在您的onCreate方法中,從bundle中獲取值:

 @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.

        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM