次のような構造で、拡張可能なリストビューをメインのユーザー インターフェイスとして使用するアプリを構築しています。
等
次のように、要素がこの構造に一致する XML を作成します。
<type type = "A la Carte>
<option option = "Rolls">
<item>
<name> Salmon</name>
<price> 2.95 </price>
</item>
</option>
</type
(xml エラーには注意しないでください。メモリから入力しましたが、XML は機能します)。
私は SAXParser を使用して XML を解析しています。問題は、データをどの構造に解析する必要があるかということです。
メニュー リストは大きくない (カテゴリ全体で合計 100 要素) ため、次のようにネストされた配列リストのセットを作成すると考えました。
arraylist(types) contains (arraylist(options) contains (arraylist items) contains array(name, price) を含みます。
この構造は、ListView に対してデータを呼び出す順序を再現しています。また、確認シートでのデータの表示方法とも一致します。これは、注文を満たすサーバーに渡す SQLite の構造と一致します。
私の質問は、このサイズのリストとこの量のネスティングでは、アプリのパフォーマンスが大幅に低下するのでしょうか? 特に、これはバッテリーの寿命を延ばしますか?
あなたの考えをとても楽しみにしています!
注: 覚えておくべきことは、この構造を他のサービスに再利用したいということです。たとえば、私のカフェテリアにバーベキュー スペシャルがあるとします。同様の構造の XML ファイルを挿入し (ただし、バーベキューをテーマにしたものであるためテキストは異なります)、それを読み取るためにコードを最小限に変更できるようにしたいと考えています。