我正在为家庭自动化开发Android应用程序。 我正在为每个设备(家用电器)创建对象,这些对象具有不同的数据字段,例如设备名称,设备ID和设备状态等。 我想将这些对象数据存储在android存储中,这样即使我重启我的应用程序,我也可以访问这些数据。
我研究并发现内部存储和SQLite是两种可用于存储此类数据的方法。 哪种方法更适合此应用?
答案 0 :(得分:0)
做这样的事情:
您可以将java对象作为Parcelable对象存储在onSaveInstanceState()包中。但是你的模型类必须实现Parcelable接口。
在模型类中实现Parcelable接口后,覆盖activity / fragment中的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.
}
}