在Android中,有没有一种方法可以将对象保存到一个地方,以便同一应用程序的不同活动可以访问它们?而无需对对象进行序列化或打包?
SharedPreferences
是最好的选择。将其放置在活动中。
public void saveSetting(String settingName, String value){
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
Editor ed = pref.edit();
ed.putString(settingName, value);
ed.commit();
}
你可以使用SharedPreferences或创建一个Singleton类。我使用单例模式来控制属性的生命周期。如果您想要保证持久性,请将数据存储在sqllite数据库中。
使用Singleton,您可以存储自定义对象。
public class MySingleton {
private static final AlphResourceSet INSTANCE = new MySingleton ();
private MySingleton() {}
public static MySingleton getInstance() {
return INSTANCE;
}
// all your getters/setters for your variables
}