どうも。どっことです。今回は、アプリ内へのXML組み込み/読み込みをする実装について解説します。
XMLをアプリ内に埋め込む・読み込む
AndroidのリソースにはXMLを配置することができます。AndroidResource
よりも単純なファイル管理として扱えるので、アプリの共通設定などの管理に利用することができます。
実際に配置する場所はapp/res/xml
フォルダです。無い場合は新規に追加して、XMLファイルを配置してください。
例えばsample.xml
を配置した場合、参照する時は以下のようにXMLファイルを指定します。
val parser : XmlResourceParser = context.resources.getXml(R.xml.sample)
Android開発ではAndroidResource
がよしなにやってくれるので、XmlResourceParser
は使い馴染みのない人が多いかもしれませんが、getEventType()
/next()
を駆使してIterable
のように解析するものです。
var eventType: Int = parser.getEventType();
// XMLドキュメントが終了になるまでwhile文を繰り返す
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("XMLドキュメントの読み取り開始");
} else if(eventType == XmlPullParser.START_TAG) {
System.out.println("新しいタグの参照:"+parser.getName());
} else if(eventType == XmlPullParser.END_TAG) {
System.out.println("タグが閉じられた:"+parser.getName());
} else if(eventType == XmlPullParser.TEXT) {
// タグに設定されている値を参照
System.out.println("値:"+parser.getText());
}
// 次の要素の参照へ
eventType = parser.next();
}
まとめ
今回はアプリ内にXMLを組み込み、それを参照する実装方法について解説しました。アプリの設定管理などの1案として挙げられるので、有効活用していきたいですね。