Androidのアプリ開発で良く聞くXMLとは何か

マークアップ・ランゲージ

XMLとは拡張可能なマークアップランゲージだと説明されることがしばしばあります。それだけでは良くわからないですね。マークアップ・ランゲージとは何かという点を理解する必要がありそうです。

元々は印刷業界の言語

印刷業界とコンピューターの関係は深いです。大昔、コンピューターがまだ一行ずつ命令を打って対話的に操作する時代だった頃から使われていたそうです。そんな印刷業界で必要とされたのがレイアウトのための命令です。今でこそWordでサクサク文書の作成が出来ますが、Wordが無い時代ではレイアウトを命令で表現する必要がありました。マークアップランゲージとはそういう需要から生まれた言語です。

HTML

最も有名なマークアップ・ランゲージはHTMLでしょう。これはハイパー・テキスト・マークアップ・ランゲージの略で、その名の通りテキストを超えて様々なコンテンツのレイアウトを行うことができます。現在ではスクリプト言語を走らせたりするなど様々な応用がなされ、元の印刷屋のマークアップ・ランゲージとは程遠いものとなりました。

XML

XMLとはマークアップ・ランゲージのスキームを利用したマークアップ・ランゲージの語源とは関係の無い使い方まで可能な汎用な形式言語です。HTMLなどのように文章をタグで囲うことが大きな特徴で、XMLを使用することはAndroidの開発では様々な場面で推奨されます。例えば以下のような使い方がされています。

AndroidManifest.xml

マニフェストファイルと呼ばれるファイルです。これはAndroidのOS自体にアプリのメタ情報を宣言するファイルです。例えばアプリの使用する権限などがここに書かれています。

レイアウトファイル

アンドロイドアプリの各アクティビティのレイアウトなどもXMLで書かれています。Android StudioではGUI操作で編集できる機能がありますので、どんなレイアウトがどういうXMLになるかを読みながらレイアウトファイルの書き方習得していくのが良いと思います。

strings.xml styles.xml colors.xml

これらはValueディレクトリに格納されていて、ActivityのJavaソースなどから参照することで使用します。Javaソースに直接書くこともできますが推奨されていません。

なぜxmlに書くのか

例えば誤字を修正したいならstrings.xmlを読めば良いですし、色味を変更したいのであればcolors.xmlを編集すれば良いです。つまりこういった書き方をしておくとデバッグがしやすいのです。またAndroidの核であるLinuxでは基本的にファイルをベースにして設計されています。設定などをファイルに書き込んだり、外部のデバイスをファイルとして保持したりすることは良くあります。AndroidアプリがXMLファイルを利用して書かれていることはLinuxの流儀に沿っていると言えるでしょう。

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)