Androidプログラミングでインターフェースを構築するためにHTMLを使用できないのはなぜですか?
5 に答える
XML を使用すると、カスタム タグを作成できます。カスタム ビューを作成したとします。xml 自体からそれらを参照できます。そのため、UI をロジックから分離するという考え方はそのまま残ります。
HTML は、Web ページを表示するために設計された標準です。Android XML レイアウト ファイルは、dalvik VM によって解析されることを目的としたカスタム構成ファイルです。2 つの別々の世界。HTML を使用して構成を定義しない正当な理由を次に示します。
- HTML の形式が正しくありません。解析は苦痛です。スキーマチェックなし。
- 要素をどのようにスタイルしますか? CSS ?
- CSS を複数のブラウザーで動作させるのは十分に困難です。
- カスタム要素を HTML 構成にどのように導入しますか?
私は続けることができました。HTML を使用してネイティブ UI を構成しても意味がありません。
拡張可能なマークアップ言語、拡張可能な部分により、はるかに用途が広くなります。HTML は基本的に、XML の一般的な概念を Web ブラウザー専用に実装したものです。
また、レイアウトだけでなく要素の動作を定義する多くのタグと属性 (つまりmethod
、など) が含まれているため、レイアウトを作成するという単純なタスクには過度に肥大化しています。onclick
UIフレームワークのクラスに合わせてAndroidでxmlタグが定義されており、UIフレームワークのクラスのメンバー変数に対応して属性が定義されているため、xmlが選択されていると思います。このマッピングは、html では不可能でした。
その理由はいくつかあると思います。
- レイアウトとソース コードを別々に用意すると、アプリケーション ロジックを分離できます。したがって、多数の XML ファイルを 1 つのソース コードにバインドすることができ、プラットフォーム (Android、Windows Phone など) は、画面密度、画面の向きなど に応じて適切な XML レイアウトを自動的に選択します。
- 次はあなたの質問への答えです:なぜhtmlではないのですか? 私の意見では、いくつかの理由があります。最も重要なことは、XML には厳密な整形式の構造があり、 XML スキーマで XML を制限できることです。実際、XML スキーマを持つことは、ドキュメントを制限するだけでなく、XML 内のファイルの一種のドキュメントを提供するため、優れています。これを読んでいる人は、HTML も XHTML 仕様のように厳密な構造を持つことができると思うかもしれません。はい、しかし XML はそのために設計されています。
- 次の側面は、XML が構成/レイアウト (Java EE、XAML、Android XML など) の HTML としてより一般的であることです。それは良い練習のようなものです。
- 実際、ほとんど HTML/JavaScript でアプリケーションを構築できますが、プラットフォーム アプリケーションをラップし、プラットフォームから独立した Web アプリケーション (Sencha フレームワークなど) に変換する特定のフレームワークを使用する必要があります。