在app运行期间使用相同的对象

时间:2014-10-24 19:27:17

标签: java android object

我有一个应用程序,我想在应用程序的不同活动中使用相同的对象。

我尝试在manifest文件中创建一个我作为应用程序编写的类,在这个类中我放置了静态getter和setter。 但我发现这个班并不是所有的时间都在运行.. 他们是另一种方式。

由于

3 个答案:

答案 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)。 并在不同的活动或需要的地方进行。

如果它只是字符串对象,您可以将其放在共享首选项中并进行不同的活动。

关于数据库,您可以在互联网上找到很多例子。