Android での GUI の作成に関する短い質問があります。xml とコーディングのどちらが優れていますか? 私はいつもxmlの方が優れていると読んでいますが、スクロールビューがあると想像してください。scrollview の内部には、relativelayout があります。その中には、RadioButton の隣の TextView の隣に ImageView を持ついくつかの行があります。行数は異なる場合があります。xml で 50 個のビューを作成したり、これらのビューが作成されるコードでループを作成したりする方が本当に良いでしょうか?
5 に答える
それぞれに長所と短所があります。ほんの数例を挙げると:
XML
- 長所 -> 迅速な GUI 開発、コードをきれいに保つ
- 短所 - >静的
動的 (コード)
- 長所 -> ランタイム条件に反応できる
- 短所 -> コードが増えるため、保守性が低下し、バグが増える可能性があります
上記に同意します。XML は、動的な更新が必要な場合でも、コンテンツをレンダリングするために XML の断片を使用できる場合でも、これに対するより優れたアプローチです。コードは XML 要素に基づいていますが、XML ファイルは独立しています。したがって、コードの機能を壊すと、UI 部分ではなくビジネス ロジックが壊れていることがわかります。これにより、開発が容易になり、問題を簡単に見つけることができます。
コンポーネントを動的に追加する必要がある場合は、コード (または) 混合アプローチ (XML でレイアウトを定義し、コードでコンポーネントを追加する) を使用するしかありません。コンポーネントが静的 XML である場合は、最適かもしれません。
もちろん、動的コンテンツは動的に追加されます。したがって、あなたの例にはいくつかのJavaコードが必要です。ただし、動的部分はプログラムでのみ追加する必要があるため、静的部分には引き続き xml ドキュメントを使用します (レイアウトが完全に動的であることは非常にまれです)。
ビューの数が固定されている場合は、そうです。50 個のビューをループではなく xml に記述します。コードの重複について疑問に思っていると思いますが、私の知る限り、xml を使用すると、いくつかの重複が発生します。
(xml 内のコードの重複を最小限に抑える 1 つの方法は、スタイルとテーマを使用することです)
ScrollView の代わりに ListView を使用しない理由。実装が簡単になり、パフォーマンスが向上するはずです。
ListView を使用して XML ファイルを作成し、アクティビティで独自のアダプターを実装して行をインスタンス化します。あなたはそれについて話しているインターネット上の多くのチュートリアルを見つけることができます, 私はあなたが必要なものを見つけると確信しています! 幸運を。