使一个数组可以访问整个android生命周期

时间:2017-08-11 07:23:23

标签: java android parse-platform singleton sharedpreferences

我正在使用PARSE API,我有一系列的objectIDs用于"喜欢"当前用户的对象。 我希望在整个Android生命周期中都可以使用它,以便我可以及时更新它以进行每次更改。

起初我开始使用意图,但如果我想用更多信息来扩展它,这对我来说似乎太过努力。

共享首选项可以存储数组(使用Sets),但我无法删除或更新其中的特定值。

解析本地数据存储区存在一些性能问题,您可以在项目问题中看到。

所以问题是,我应该怎么做?与单身人士? json文件?一个额外的文件作为临时存储?

我希望有人帮助我解决这个问题。

谢谢:)

3 个答案:

答案 0 :(得分:0)

我会继续使用静态类,您可以在整个应用程序中存储所需的所有项目。作为SharedItems,您可以在应用程序的每个点上以SharedItems.myArray的形式访问您的数组

答案 1 :(得分:0)

你应该试试Singleton。

public class App {
   private static App instance = null;
   public ArrayList<Object> accessibleArray;
   protected App() {
        accessibleArray = new ArrayList<Object>();
   }
   public static App getInstance() {
      if(instance == null) {
         instance = new App();
      }
      return instance;
   }
}

无论何时你需要那个阵列,你只需要打电话

App.getInstance().accessibleArray.add(new Object());

有很多关于Singleton设计模式的文章,例如: https://www.javatpoint.com/singleton-design-pattern-in-java

答案 2 :(得分:0)

在MainActivity上创建一个公共静态arrayList。然后使用它,

MainActivity.arrayList.add(object).

等操作。