使数组在整个 android 生命周期内都可访问

make an array accessable through the whole android lifecycle

我正在使用 PARSE API,并且我有一组用于当前用户的 "liked" 个对象的 objectID。 我希望在整个 android 生命周期中都可以使用它,以便我可以及时更新它以应对所做的每项更改。

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

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

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

那么问题来了,我应该怎么做呢?与单例? json 个文件?一个额外的文件作为临时存储?

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

谢谢:)

我会继续使用静态 class,您可以在其中存储整个应用程序所需的所有项目。作为 SharedItems,因此您可以在应用程序的每个点

中以 SharedItems.myArray 的形式访问您的数组

你应该试试 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());

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

在您的 MainActivity 上创建一个 public 静态数组列表。然后使用它,

MainActivity.arrayList.add(object).

等操作。