Androidアプリを開発する際にも、XML文書を併用します。逆に言えば、「Androidアプリを開発する際に XMLの基本を理解している必要があるからこそ、僕がこのウェブサイトを作った」とも言えます。
ただ、このウェブサイトはあくまでも「XMLについて学ぶためのもの」なので、各 XML文書については概略のみに留めます。何となく、「ああー、Androidアプリを開発する際に、XMLを触る必要があるのだなあー」と理解していただければ、そして、「XMLはこんな感じで使用されているのだなあ」と思っていただければ、十分です。
以下では 5つの例を挙げます。5つのファイルは、それぞれまったく異なるものを管理しています。しかし、それでも、5つの文書の記述内容に共通した雰囲気があると感じられるでしょうか。それはきっと、5つの例がいずれも XML文書だから、なのだと思います。
Androidアプリのマニフェストを決めるファイル。アプリごとに必ず必要となるファイルで、アプリの基本的な内容や必要な権限(例えば、インターネット接続するだとか SDカードへの書き込みをするだとか)を定義するためのファイルです。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.wisterina.android.kihon.helloworld"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="org.wisterina.android.kihon.helloworld.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Androidアプリの画面レイアウトを決めるファイル。レイアウトファイルを使用して、例えば、ボタンを配置したり、チェックボックスを配置したりします。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
オプションメニューの内容を XMLで記述したいときに使用します。
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
アプリ内で使用する文字列や数字などの情報(リソース)を格納するためのファイルです。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Hello World</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
Androidにはプリファレンスという便利な機能があって、プリファレンスを使ってデータを保存することができます。このとき、データは XML文書の形式で保存されます。
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <int name="countDownTimePosition" value="0" /> <int name="missTimePosition" value="0" /> <int name="lastNumberPosition" value="0" /> <boolean name="isCloseMode" value="false" /> <boolean name="isBlackMode" value="false" /> </map>