URLImagesと統合されているが、予想通りのURLパスを使ってストレージフォルダに解凍する、バンドルされた画像をアプリに含めようとしています。
これはiosとシミュレータで正常に動作しますが、Android上の正しいパスを見つけたり、正しいパスにアクセスできません。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;
}
この場合、アンドロイドには間違っているようです。
手動で正しいパスを取得し、FileSystemStorageを使用して出力ストリームを開く方法はありますか?
時々変更されるため、システムによってシステムによって異なる可能性があるので、私はむしろハードコードをハードコードしたいと思います。 これ以外のオプションはありませんか?
で実装されている。しかし、それはインターフェイスを変更しがちだ場合でも、一貫する必要があります。 私の質問は、AndroidでStorage.getInstance()。createOutputStream()がアプリケーションストレージに出力ストリームを作成しない理由を説明します。 URLImageは効果を発揮するために何かをしていますか? – peopletookallthegoodnames
いいえ、AndroidデバイスAは1つのパスを使用し、AndroidデバイスBは別のパスを使用します。いくつかのデバイスは、そのパスに到達するための手段を全く提供していません...「URLImage」はそういうことをしておらず、APIを混ぜ合わせていません。 –
Storage.getInstance()。createOutputStream(storagePath)を使用するとうまくいくはずですが、そうではありません。アンドロイドでパスが存在しないか、正しい場所を指していません。最初にフォルダを生成する必要があるのですか? – peopletookallthegoodnames