リソース自体はXMLファイルで定義されていることに気付きましたが、使用したい独自のタイプのXMLファイルがある場合、それらを「res / xml」に保存する必要がありますか?
アセットを使用し、それらをバイナリとしてロードして別のXMLライブラリで解析するなど、これを行うためのより良い方法はありますか?
res
特定のリソース タイプを持つフォルダー内に XML リソースを追加します。組織のためにすべてのファイルを同じディレクトリに配置するという、私が適応した慣習です。
その中に XML ファイルを追加するとres/xml
、実行時にいつでもアクセスできます。Resources.getXML()
電光石火の速さよりもコーディングの容易さを好む場合は、代わりにSimple XML ライブラリを使用します。プログラミングが簡単です。私は、あなたのプロジェクトにそれを含める方法を説明する、あなたが見ることができるブログ投稿を書きました.
最初にAndroidでファイルに正しくアクセスする方法を知っています:
元のファイルとディレクトリにアクセスする必要がある場合があります。その場合、ファイルを に保存してres/
もうまくいきませんonly way to read a resource from res/ is with the resource ID
。代わりに、リソースを assets/ ディレクトリに保存できます。
assets/ ディレクトリに保存されたファイルにはリソース ID が与えられないため、R クラスや XML リソースから参照することはできません。代わりに、通常のファイル システムのように assets/ ディレクトリ内のファイルをクエリし、AssetManager を使用して生データを読み取ることができます。
ただし、生データ (ビデオやオーディオ ファイルなど) を読み取る機能だけが必要な場合は、そのファイルを res/raw/ ディレクトリに保存し、openRawResource() を使用してバイト ストリームを読み取ります。
XML ファイルへのアクセス
http://developer.android.com/guide/topics/resources/accessing-resources.html#ResourcesFromXml
res/xml/
Arbitrary XML files that can be read at runtime by calling Resources.getXML()
Resources res = activity.getResources();
XmlResourceParser xrp = res.getXml(R.xml.the_file_name_aka_resource_ID);