Android の Java コードから離れた場所にナビゲーション構造を保存する適切な方法について質問したいと思います。リソースのxmlファイルにアプリケーション構造を保存したいと思います。プログラムは、生成されたリストでのみ機能します。
以前は、独自の XML をリストに解析していました。各アイテムの id は、呼び出しメソッドを使用して適切なコードを実行します。ただし、速すぎず、プログラマーフレンドリーではありません。
ということで型を使うことにしましたenum
。これにより、XML に誤った値を入力する可能性がなくなるわけではありませんが、コード自体にタイプミスが生じる可能性がなくなります。各要素は、押された項目のタイプをチェックするメソッドを (switch-case を使用して) 呼び出し、列挙型の場合APP_ITEM
は ID に応じて適切なプログラムを実行します (XML のもう 1 つのマジック ストリング)。
サンプルアプリの構造:
"Main screen"
- Item that runs dialer
- Second item that carries to subscreen
- Item one
- Item two
"Second screen"
- Item that runs browser
- Awesome meter
XML で表示:
<app_navigation>
<screen name="Main screen">
<item enum="APP_ITEM" id="dialer" name="Item that runs dialer"></item>
<item name="Second item that carries to subscreen">
<screen name="Some subscreen">
<item enum="SOME_ITEM" name="Item one"></item>
<item enum="SOME_ITEM" name="Item two"></item>
</screen>
</item>
</screen>
<screen name="Second screen">
<item enum="APP_ITEM" id="browser" name="Item that runs browser"></item>
<item enum="SOME_ITEM" name="Awesome meter"></item>
</screen>
</app_navigation>
ナビゲーション構造をコードから分離するより良い方法はありますか? API 8 からアプリをサポートしたい。