我正在开发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