2016-08-08 13 views
1

codenameoneプロジェクトのsrcフォルダ内のすべてのファイル名を取得する方法はありますか(通常はtheme.resファイルの隣にあります)?srcフォルダ内のすべてのファイル名を取得、codenameoneプロジェクト

私が使用してみました:

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

をしかし、これが唯一の.RESファイル自体内のリソースの画像を返すようです。これらのアプリに組み込まれているデバイスではなく、その上のストレージを返すように見えるけれども、私も

Storage.getInstance().listEntries(); 

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

を試してみました。

答えて

0

いいえ、あなたはおそらくそれを行うべきではありません。そこにある "ファイル"は、プラットフォームのネイティブ表現に変換されます。つまり、シミュレータのように移植可能な方法で動作せず、奇妙な "オンデバイス"の問題に遭遇する可能性があります。

ビルド中にファイルのリストをテキストファイルに作成し、そこに保存して参照として使用することはできますが、その考え方を考え直したいと思います。あなたが達成しようとしていることを説明する質問をするなら、私はよりよいアプローチを提供できるかもしれません。私たちはTARを使ってhtmlディレクトリ内のHTMLファイルをパッケージ化し、ポータブルなWebブラウジング体験を得ることができます。

+0

画像を作成している他の人が、そのフォルダ内の画像を削除します。このプログラムは、そこに落とされたすべての画像が使用可能なように構築されています。私の考えは、起動時にリストを構築することでした。 画像処理に対応するためにネイティブコードを実装しているため、テキストファイルは実行可能なようです。ファイルからのバイト配列が同じままである限り。 画像がネイティブ表現に変換されるとき、画像ファイル自体(.pngおよび.gif画像)は影響を受けません。 – Propagandian

+1

イメージファイルは影響を受けません。しかし、あなたはすぐにアプリをカスタマイズするためのツールを作っているようです。画像リソースを配置するだけでは、オンデバイスのスケーリングがあまり良くないため、さまざまなデバイスでピクセル化されたり、大きすぎたりする可能性があります。私はなぜ画像処理のためのネイティブコードが必要かわからない。個人的に私はあなたがコマンドラインから生成し、そこにマルチイメージを持つことができるリソースファイルを使用します。 –

関連する問題