Hello World を理解する (2/2)

~ Hello World はここにあった ~

前へ   1  2  次へ
androidアプリは、初期状態で「Hello World」と表示するようになっていますが、これはどのように表示されているのか気になります。このセッションでは、Hello World が表示される仕組みを見ていきます。

6.main.xmlは何をしているのか

main.xmlは、レイアウトファイルです。これが、さっきから出てきているレイアウトの本体になります。開くとこんな感じです。

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

ちょっと分かりにくいので、省略すると基本構造はこうなってます。

<?xml>
<LinearLayout>
<TextView/>
</LinearLayout>

LinerLayoutを用意して、その中に、TextViewを用意しているわけです。LinerLayoutはレイアウトの一種で、ビューを縦に並べるレイアウトです。TextViewは文字を表示するためのビューです。このTextViewの中を見ると、text="@string/hello"とあります。これが、文字を表示している部分です。直接文字を指定することもできるのですが、ここでは、文字の場所が指定されています。

7.strings.xmlは何をしているのか

strings.xmlは、文字ファイルです。ここに文字を用意しておくことができます。文字は直接表示できるのに、なぜこんなファイルがあるのかと思う所ですが、たぶん、いろいろな言語に対応さそうと思ったときに、この仕組みが便利になるのだと思います。開くとこんな感じです。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, Sample01!</string>
    <string name="app_name">サンプル01</string>
</resources>

やっと「Hello World」にたどり着きました。さっきの@string/helloは、ここを指定していたわけです。また、アプリのタイトルも定義されています。

8.AndroidManifest.xmlは何をしているのか

AndroidManifest.xmlは、アプリ本体の定義ファイルです。名前や、バージョン、使用機能などが書かれています。ちなみに、マーケットにアプリを公開して、そのアプリをバージョンアップするときは、このファイル内の「versionCode="1"」をプラス1しないといけません。

9.結論

「Hello World」が表示される仕組みをまとめると、こうなってます。

1.Sample01.javaで、R.javaに問い合わせる
2.R.javaには、main.xmlの場所が書かれている
3.main.xmlで、strings.xmlに問い合わせる
4.strings.xmlには、「Hello World」と書かれている
5.結果、「Hello World」という文字が表示される

たぶん、「ちょっと文字を表示するだけで、何でこんなに複雑なんだ!」と思うと思います。でも、あまり心配はありません。実際には、Sample01.javaに3,4行書くだけで、文字を表示できます。たぶん、教育的な観点で、こうなってるのだと思います。ちょっと疲れたかも知れませんが、多少androidアプリの仕組みが分かったら成功です。

前へ   1  2  次へ

次のセクション

Hollo Worldを改造する