ラベル XmlResourceParser の投稿を表示しています。 すべての投稿を表示
ラベル XmlResourceParser の投稿を表示しています。 すべての投稿を表示

2023年12月15日金曜日

Android アプリ内にXMLを組み込む/読み込む実装を解説

どうも。どっことです。今回は、アプリ内への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案として挙げられるので、有効活用していきたいですね。

参考

移行予定

どうも。どっことです。 タイトルの通りですが、諸事情により GitHubPage に移行予定です。 https://mkt120.github.io/ この備忘録に記載の内容を転記しつつ、今後はこちらのページを更新していく予定です。