3

Android開発の学習を始めたばかりで、「ビューを構築する」には基本的に3つの主なアプローチがあることを読みました。

  • Java ベース: Java を使用して文字列を定義し、ウィンドウをレイアウトし、GUI コントロールを作成し、イベント ハンドラーを割り当てます。Swing プログラミングのように。
  • XML ベース: XML ファイルを使用して、文字列の定義、ウィンドウのレイアウト、GUI コントロールの作成、およびイベント ハンドラーの割り当てを行います。Java メソッドは、XML ファイルからレイアウトを読み取り、それを setContentView に渡します。
  • ハイブリッド: XML ファイルを使用して文字列を定義し、ウィンドウをレイアウトし、GUI コントロールを作成します。Java を使用してイベント ハンドラーを割り当てる

これら 3 つの異なるアプローチの利点と制限は何ですか?

初心者と実績のあるプログラマーはどちらを使うべきですか?

ここで主観的な回答を求めているわけではありません(フラグが立てられる前に:))。これらのアプローチを互いに異なるものにするいくつかの事実があるに違いありません (速度、保守性、読みやすさ...)

4

2 に答える 2

2

XML-based is like using CSS for a webpage. Using XML separates concerns neatly into the MVC (Model-View-Controller) pattern. If everything is specified in XML, then your activity can utilize different layout files for different screens, and the presentation of these elements can easily be updated by just changing to new XML files. This is good software development practice and greatly helps when it comes time to redesign or reuse components. In some cases you may still need to dynamically set some things in Java, but you should try to put all presentation-related stuff in the XML files.

The event handlers should still be set and defined in Java, in my opinion. That is not related to presentation and thus does not belong in the XML files. I do not use the onclick XML attributes. Also, if you set it in the onclick attribute, you can break the connection if you refactor the method name in Java but forget to update the XML file.

于 2012-10-31T18:13:30.027 に答える
1

XMLを可能な限り使用する利点は、すべてのAndroidツールがこのスタイルのプログラミング(UIエディターなど)をサポートしていることです。あなたがコードですべてをするなら、あなたはあなた自身です。(コードベースのレイアウトへの変更の影響を確認したいですか?アプリをビルドしてエミュレーターで実行します。XMLベースのレイアウトを使用すると、変更を加えているXMLエディターでプレビューできます。)

イベントハンドラーに関して、XMLで(たとえば、android:onClickプロパティを使用して)宣言することの主な利点は、イベントハンドラークラスを宣言する必要がないことです。ここでの利点は特に強力ではありませんが、私はあなたがハイブリッドアプローチとして説明しているものをよく使用します。

初心者のAndroidプログラマー(他のプログラミングの経験があるかどうかに関係なく)は、Androidが推進するXMLスタイルの強力な基盤を築くことをお勧めします。

于 2012-10-31T17:42:59.407 に答える