【问题标题】:How to create Eclipse EFS resources on the fly in a content provider?如何在内容提供者中动态创建 Eclipse EFS 资源?
【发布时间】:2012-02-10 08:47:17
【问题描述】:

我喜欢为 Eclipse 编写一个插件,它允许像使用普通文件目录一样使用存档文件。例如,如果项目中有一个 zip 文件,用户应该能够通过打开 zip 文件夹来查看 zip 文件的内容。用户应该能够读取该存档中的文本文件。

我已经创建了一个围绕特定存档格式的 EFS 包装器。此外,我为这种存档格式创建了一个新的内容类型。我有一个在内容类型上触发的 navigatorContent。在内容提供者中,目前我提供 IFileStore 类型的对象。 AFAIK 并没有为这种类型的 Eclipse 提供任何好的标签提供程序,所以我必须自己实现它(有一个被声明为私有的)。然而,这似乎是相当大的代码重复工作。因此,我喜欢做的不是返回 IFileStore,而是返回 IFile 或 IFolder,以便正常的项目资源管理器内容提供者可以完成其工作。有可能做这样的事情吗?如果可以,如何实现?

【问题讨论】:

    标签: eclipse plugins android-contentprovider archive


    【解决方案1】:

    调用 IFolder.createLink() 以创建引用自定义文件系统上文件夹的新资源。

    http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2FresAdv_efs_resources.htm

    这将在您的项目中创建一个新文件夹,其中包含 ZIP 存档中的所有文件。但问题是,您需要将其放入现有容器中,这会污染资源树。

    【讨论】:

      【解决方案2】:

      实现ILabelProvider 一点也不费力,尤其是与IFileIFolder 相比。如果你扩展BaseLabelprobivider,你只需要实现2个方法:getText()getImage()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-06
        • 2011-03-19
        • 1970-01-01
        • 1970-01-01
        • 2011-07-12
        • 2012-07-07
        • 1970-01-01
        相关资源
        最近更新 更多