我有一个应用程序,我想在应用程序的不同活动中使用相同的对象。
我尝试在manifest文件中创建一个我作为应用程序编写的类,在这个类中我放置了静态getter和setter。 但我发现这个班并不是所有的时间都在运行.. 他们是另一种方式。
由于
答案 0 :(得分:0)
编辑:
您可以使用首选项并将对象保存在那里。
// Fetch the strings from your object to this array
String[] strings = new String[] { "String1", "String2"};
// Convert the array to a string set
Set<String> stringSet = new HashSet<String>(Arrays.asList(strings));
// Save to preferences
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit().putStringSet("MyStrings", stringSet).apply();
然后获取首选项并回读字符串。
答案 1 :(得分:0)
您所寻找的是所谓的Singleton Pattern
这是一个基本的实现:
public class MySingleton {
private static MySingleton mySingleton;
public MySingleton() {}
public static MySingleton getInstance() {
if (mySingleton == null) {
mySingleton = new MySingleton();
}
return mySingleton;
}
}
现在,通过调用MySingleton.getInstance()
答案 2 :(得分:0)
如果您的应用程序可以在某个时间停止,我认为您需要将此对象保留在数据库中或磁盘上,如可序列化对象(例如https://stackoverflow.com/a/4553318/1652236)。 并在不同的活动或需要的地方进行。
如果它只是字符串对象,您可以将其放在共享首选项中并进行不同的活动。
关于数据库,您可以在互联网上找到很多例子。