使数组在整个 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).
等操作。
我正在使用 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).
等操作。