在我的移动应用程序中,我需要保存可在整个应用程序中访问的File对象(图片,文档)的集合,用户可以对集合进行各种操作:
该集合仅初始化一次。
我想知道使用单例模式作为保存集合的对象是否是一个好主意,所以每次用户打开特定屏幕时我都不必初始化集合?
答案 0 :(得分:1)
当然,这就是单身人士模式的目的。
来自Wikipedia,单身人士模式
只有一个对象才有用 需要协调跨行动 系统。
示例:
public class SingletonCollection {
private Collection<File> fileCollection;
private static SingletonCollection instance;
private SingletonCollection() {
fileCollection = new ArrayList<File>();
}
public static SingletonCollection getInstance() {
if (instance == null) {
instance = new SingletonCollection();
}
reutrn instance;
}
public void addFile(File f) {
fileCollection.add(f);
}
public Collection<File> getFiles() {
return fileCollection;
}
}
答案 1 :(得分:0)
如果仅初始化集合,则使用单例。毫无疑问。
答案 2 :(得分:0)
如果您正在使用Java ME,请尝试使用RecordStore。您可以从应用程序的任何位置访问它。
答案 3 :(得分:0)
For Java&gt; = 1.5
public enum FileCollector
{
INSTANCE;
private FileCollector()
{
List _temp = new ArrayList();
File f = new File("properties");
_temp.add(f);
fileContainer = Collections.unmodifiableList(_temp);
}
private final Collection<File> fileContainer;
public Collection<File> getFiles() {
return fileContainer;
}
}