如何在整个应用程序中保存文件集合?

时间:2011-04-12 10:33:29

标签: java file singleton

在我的移动应用程序中,我需要保存可在整个应用程序中访问的File对象(图片,文档)的集合,用户可以对集合进行各种操作:

  • 查看所有/单个文件
  • 将集合的子集上传到服务器
  • 分享个人档案
  • ...

该集合仅初始化一次。

我想知道使用单例模式作为保存集合的对象是否是一个好主意,所以每次用户打开特定屏幕时我都不必初始化集合?

4 个答案:

答案 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;
    }

}