初心者歓迎!CLAND教授と新人青木くんのAndroid(アンドロイド)アプリ開発講座

CLAND教授と新人青木くんのAndroidアプリ開発講座トップへ

第4回 Androidアプリ講座 [ アプリはどう動いてるの? ]

前回はどこで終わったっけ?

えーっと、
「起動するとどうしてこのような画面になるのか?」ってとこ


[Androidアプリ開発講座]エミュレーター起動

今回の説明は
基礎中の基礎だけど、大切なこと
特に君はよく頭に叩き込むんだよ!

それ、どーゆーことですか。

アプリで稼ごうと、先のことばかり考えているからだよ。

プロジェクトをつくった時、こういった構成が作られていなかった?


[Androidアプリ開発講座]Androidはどう動いているの?

あぁ!できてたね!邪魔だから見ないで消そうと思ってたんだけど。

・・・・・消すな!

ここで注目すべきファイルは3つ。 HelloActivity.javastring.xmlmain.xmlだよ。

それぞれの役割がわかりません!

今から説明していくから、ゆっくり聞くこと!

はーい。

まず、HelloActivity.javaはAndroidアプリの画面

ふむ。

string.xmlは文字列の格納

・・・・?

main.xmlはHelloActivityの画面レイアウトの構成

・・・・・分かりやすく教えてください。

1つずつ説明していくね。

<?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>

これが、main.xmlの中身だよ。

何が書いてあるの?

LinearLayoutタグとTextViewタグがあるのは分かるよね?
見てのとおり、
LinearLayoutの上に
TextViewというViewが載ってるんだよ。

うーん・・・・

LinearLayoutという紙の上に
TextViewという文字を格納できる箱が
のっているイメージ
だよ。

なるほど!

TextViewタグをよく見てごらん。

[android:text="@string/hello"]

上記のような記述があるよね。どういう意味か分かる?

TextViewの文字は
string.xmlのhelloという場所にある
・・・・だよね?

その通り!
じゃぁ今度はstring.xmlを見てみようか。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="hello">Hello World,HelloActivity!</string>
  <string name="app_name">HelloAndroid</string>
</resources>

あ!Helloがある

そう。
TextViewにあった宣言が見つかったね。
で、その中身は?

前回の講座で見た、
"Hello World,HelloActivity!"の文字がある!

そういうこと。
main.xmlのTextViewの箱には、
string.xmlの"Hello World,HelloActivity!"が入る
ってことだね。

へぇー。

じゃぁ最後、HelloActivity.javaを見てみようか。

package jp.clinks.hello;

import android.app.Activity;
import android.os.Bundle;

public class HelloActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
}

Androidはアプリを起動するときに必ずonCreateメソッドが呼ばれ
中にはsetContentViewメソッドがある。

それで?

このsetContentView
HelloActivity.javaにセットするレイアウトを指定するんだ。

setContentViewを見ると、"main.xml"になっているね

そう。
だから画面に"Hello Android、Hello Activity!"と出ているんだよ。

よく分かったよ!

さっきも言ったけど、これは大切なことだからしっかり覚えるんだよ。

うん。
それより・・・・早くアプリ作りたいんだけど。

そう言うと思った。
次回は、WebViewで簡単なブラウザをつくっていくよ。

楽しみ~!

~Androidアプリ開発講座 第4回「Androidアプリはどう動いてるの?」 完~

Ketchapp!トップページ
CLAND教授と新人青木君のAndroidアプリ開発講座
お問い合わせ先
運営会社:CLINKS株式会社
MAIL:andlec-support@ketchapp.jp
*「Android」は、Google Inc.の登録商標です。

Ketchapp!コンテンツ

Ketchapp!に掲載されている記事・写真・イラスト等のコンテンツの無断転載を禁じます。

Copyright(c) 2011 Ketchapp! Androidアプリ開発講座 All Rights Reserved.