Androidアプリを作ってみる #7 – Activity その2 –

Activityを起動させる。

前回は、AndroidアプリのUIデザインの部分をやりました。

前回の記事

Androidアプリを作ってみる #6 - Activity その1 -

2016.09.22

これだけだと、デザインをしただけですね。今度はアプリとして動くための仕組みを入れないといけません。これをプログラミング言語の「JAVA」で書いていくことになります。

↓ これです。

Activityの起動

Activityの起動

JAVAを書いていくなんていいましたが、前回のようなAndroid Studioが自動生成した上の画像のアプリは既に勝手に書いてくれてます。楽ですね。それを見てみます。

場所は左のツリーの[app]→[java]→[最初に決めたパッケージ名]→MainActivity.java

MainActivity.javaを開く

MainActivity.javaを開く

中身はどうなっているのかというと…。

なにやらわけ分かりませんね。これがJAVAのクラスってやつですが、Android OSがこのMainActivityクラスを呼び出すとアプリが起動するようなイメージです(class MainActivityってとこです)。イメージだけで充分。OSがどうやって動かしているかなんて気にすることありません。

にゃんこ
そ、それでいいのか?

このMainActivityクラスを起動させる(インスタンスを生成する)と、アプリが起動する最初にAndroid OSがActivityが生成されましたよと教えてくれるんです。それが上に書いてある。onCreate()というメソッドです。これがそのときに実行されます。

メソッドとは、C言語では関数と呼ばれるものですが、一つの処理単位です。このonCreate()の { ~ } の中身を一回だけ上から下まで実行すると終了という感じです。

このonCreateの中身を見てみると、setContentView(R.layout.activity_main)という記述がありますね。これもメソッドです。これはonCreateから”呼ばれるメソッド”と言う言い方をしますが、これを実行するとsetContentView()という名前でどこかに記述されているものを実行していることになります。どこに記述してあるのかというと、Androidが用意した様々な機能を実現するクラスの中です。それらをうまく利用してアプリを作っていくという感じですかね。

メリ
なんだか難しくなってきたわよ。

さて、ここで最初の話題のどこで前回作ったUIデザインを使用してActivityを起動しているかというと、先ほども出てきた、↓ の部分ですね。

Android Developersを参照し、setContentViewの仕様を確認してみると…。

Set the activity content to an explicit view. This view is placed directly into the activity’s view hierarchy. It can itself be a complex view hierarchy.

とあります。英語です。さすがにGoogle先生に翻訳してもらいましょう。

明示的な視野に活動内容を設定します。このビューは、アクティビティのビュー階層の中に直接配置されます。それはそれ自体が複雑なビュー階層であることができます。

メリ
え、えーっと。えーっと?

なんだかよく分かりませんが、とりあえずビューを設定してくれるということです。ここで言うビューとは前回のactivity_main.xmlのことです。それが複雑な階層を持ったものでも大丈夫って言ってるんですね。たぶんね。

setContentViewの()の中に、R.layout.activity_mainという記述がありますが、これはsetContentViewに渡すパラメータ(引数と言う)です。で、R.layout.activity_mainが何をさすのかというとまさに前回のactivity_main.xmlのことです。ですからここでUIデザインを読み込んでアプリに反映してくれているってことですね。

っと、ここまで自分では全然プログラムは書いていません。それでも既にアプリとしての基本はできている。いやはや楽な時代になりましたねえ。

さて、次回はボタンをタップしたときの処理とかをやってみます。

メリ
も、もう既についていけてないんですけど~。

次の記事

Androidアプリを作ってみる #8 – ボタンを押したら その1–

2016.10.01

前回の記事

Androidアプリを作ってみる #6 - Activity その1 -

2016.09.22