【问题标题】:Get all file names in src folder, codenameone project获取 src 文件夹中的所有文件名,代号一个项目
【发布时间】:2016-08-09 12:14:44
【问题描述】:

有没有办法在代号一个项目中获取src文件夹中的所有文件名(通常在theme.res文件旁边)?

我尝试使用:

    try {
        Resources theme = Resources.openLayered("/theme");
        return theme.getImageResourceNames();
    } catch (IOException e) {
        e.printStackTrace();
    }

但是,这似乎只返回 .res 文件本身中的资源图像。我也试过了

Storage.getInstance().listEntries();

FileSystemStorage.getInstance().listFiles(FileSystemStorage.getInstance().getAppHomePath());

虽然这些似乎返回设备上的存储空间,而不是应用程序中嵌入的存储空间。

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    不,您可能不应该这样做。那里的“文件”被翻译为平台原生表示,这意味着它们不会像在模拟器中那样以可移植的方式运行,您可能会遇到奇怪的“设备上”问题。

    您可以在构建期间在文本文件中创建文件列表并将其保存在那里,然后将其用作参考,但我会重新考虑这个想法。如果您要问一个描述您要达到的目标的问题,那么我也许可以提供更好的方法,例如我们使用 TAR 将 HTML 文件打包到 html 目录中,这样我们就可以获得设备便携的网页浏览体验。

    【讨论】:

    • 其他人做图像会将图像放在该文件夹中。该程序的构建方式使得所有丢弃在那里的图像都可以使用。我的想法是在启动时建立一个列表。考虑到我已经实现了本机代码来处理图像处理,该文本文件似乎确实可行。只要文件中的字节数组保持不变。我是否正确地说图像文件本身(.png 和 .gif 图像)在转换为原生表示时不会受到影响?
    • 图片文件不受影响。但是,听起来您正在构建一个工具来快速自定义应用程序。如果您只是放置图像资源,它们可能在各种设备上看起来像素化或太大,因为设备上的缩放不是很好。我不知道为什么您需要本机代码来进行图像处理。就我个人而言,我会使用一个资源文件,您可以从命令行生成并在其中包含多个图像。
    猜你喜欢
    • 2017-12-08
    • 1970-01-01
    • 2017-01-08
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多