代号一人可以';无法在Android上获得正确的存储路径

代号一人可以';无法在Android上获得正确的存储路径,android,storage,codenameone,Android,Storage,Codenameone,我们正在尝试在我们的应用程序中包含一些捆绑图像,这些图像与url图像集成,但将它们解压缩到存储文件夹中(url路径与预期路径匹配)。 它在ios和模拟器上运行良好,但在Android上无法找到或访问正确的路径 String storagePath = getStoragePath(url + suffix); OutputStream os = Storage.getInstance().createOutputStream(storagePath); ... getStoragePath(

我们正在尝试在我们的应用程序中包含一些捆绑图像,这些图像与url图像集成,但将它们解压缩到存储文件夹中(url路径与预期路径匹配)。
它在ios和模拟器上运行良好,但在Android上无法找到或访问正确的路径

String storagePath = getStoragePath(url + suffix);
OutputStream os = Storage.getInstance().createOutputStream(storagePath);
... 

getStoragePath(String string){
    for (String s : Arrays.asList("/", "\\", "%", "?", "*", ":", "=")) {
        string = StringUtil.replaceAll(string, s, "_");
    }
    return string;
}
在android上,这条路径似乎是错误的。
有没有办法手动获取正确的路径,然后使用文件系统存储打开输出流?
我不希望硬编码任何路径,因为它们偶尔会发生变化,并且可能因系统而异。
我在这里没有看到任何其他选项?

您正在编码一个具体隐藏的实现细节,将来可能会更改<代码>文件系统存储和
存储
在逻辑上是分开的,不应混合使用

如果您希望从
文件系统存储访问
,则应始终仅使用该API,并避免使用
存储


这是出于设计,在某些操作系统中,存储是以一种非常独特的方式实现的,根本不映射到文件系统文件…

您正在编码一个具体隐藏的实现细节,将来可能会更改<代码>文件系统存储和
存储
在逻辑上是分开的,不应混合使用

如果您希望从
文件系统存储访问
,则应始终仅使用该API,并避免使用
存储


这是设计上的,在某些操作系统中,存储是以一种非常独特的方式实现的,根本不映射到文件系统文件…

但即使它很容易更改,接口也应该是一致的。我的问题可以归结为为什么在Android中Storage.getInstance().createOutputStream()不在应用程序存储中生成输出流?URLImage是否在幕后做了一些事情来让它工作?没有。Android设备A将使用一条路径,而Android设备B将使用另一条路径。有些设备根本无法到达该路径
URLImage
没有做任何类似的事情,我们也没有混合API,它们有完全独立的实现和用法。因此,如果我使用Storage.getInstance().createOutputStream(storagePath),它应该可以工作,但它不能。在android上,路径不存在,或者没有指向正确的位置。我需要先生成文件夹吗。存储名称不是路径。存储是一个与文件系统完全分离的平面位置,您只能通过存储API访问它。Path可能是错误的变量名。除了平面文件,我什么都不用。只不过是图像中的图像而已。它在android上不起作用,但即使它很容易改变界面,也应该保持一致。我的问题可以归结为为什么在Android中Storage.getInstance().createOutputStream()不在应用程序存储中生成输出流?URLImage是否在幕后做了一些事情来让它工作?没有。Android设备A将使用一条路径,而Android设备B将使用另一条路径。有些设备根本无法到达该路径
URLImage
没有做任何类似的事情,我们也没有混合API,它们有完全独立的实现和用法。因此,如果我使用Storage.getInstance().createOutputStream(storagePath),它应该可以工作,但它不能。在android上,路径不存在,或者没有指向正确的位置。我需要先生成文件夹吗。存储名称不是路径。存储是一个与文件系统完全分离的平面位置,您只能通过存储API访问它。Path可能是错误的变量名。除了平面文件,我什么都不用。只不过是图像中的图像而已。它在android上不起作用。