【Androidアプリ制作】第4回Android Studioが生成したJavaファイルを読み解く

スポンサーリンク

Android Studio のデフォルトファイルに学ぶ

第2回でとりあえず、Hello worldを表示するとこまで行きました。

Android studioがデフォルトで用意してくれたものです。

現状、このファイルを見て勉強していこうと思います。

デフォルトで用意されているファイルは「アクティビティ」

第3回で触れたAndroidアプリの構成に触れたましたが、デフォルトで生成されているのは「アクティビティ」です。

つまり表示に関する部分です。

アクティブファイルは様々なファイルと連携しているため、IDEでさらっと作ってしまうほうが最初から作るよりは遥かに楽そうです。

で、今回はとりあえず、「アクティビティ」の中にあるjavaファイルを見ていきます。

Android studioで制作したファイル構成はこんな感じ。

main_activity

青いハイライトがかかっている「MainActivity」を表示してみます。

「アクティビティ」に関しては今後まだまだ確認しなくてはならないことが多そうですが、とりあえず初期で読み込んでいるライブラリを確認します。

javaファイル内を上から確認していくと

「MainMainActivity.java」を表示してみます。

MainActivity_java

ファイルの上部分だけを抜粋したキャプチャです。

上から順に確認したいと思います。

package

こちらは、パッケージ宣言と呼ばれるもので、ソースファイルをフォルダごとにまとめたりするものです。ソースファイルをフォルダ毎にまとめておけば、それらがどういった役割をするのかわかりやすくなります。また、クラス名が衝突するのを避けることが出来るとのこと。

import

こちらはインポート宣言と呼ばれるもので、別のパッケージから「クラス」を参照するものです。

Android Studioは、最初の段階で既存のクラスをインポートしているわけです。

読み方としては以下の2行ですと、

import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;

android.support.v7.appパッケージのActionBarActivityクラスと、ActionBarを参照しますよー。ということです。

クラスってなんだ?

このへんの説明はjavaの書籍などが詳しいと思いますが、個人的な解釈で説明させていただきますと、javaプログラムの設計図みたいなものです。

この「クラス」の中にどんなデータを使って、どんな処理をするか。というプログラムを記述します。

クラスはプログラムを入れる箱と言っても良いのかもしれません。

そうした、箱のような設計図のようなものの1つを「クラス」と呼びます。

設計図の中には、それぞれどういった動きをするかが書いてあるわけですが、変数や定数を「フィールド」

そしたデータを処理する部分を「メソッド」と言います。

上記の写真は一部だけのキャプチャですが、「public class MainActivity〜」というのが「クラス」の書き出しです。

順に見ていきますと・・・。

【public】
アクセス修飾子。外部からの参照の許可などを表します。publicはどこからでも参照できます。ということです。

【class】
その名の通り「クラス」であることを表示」

【MainActivity】
サブクラス名(クラス名)次のextendsでクラスを継承しているので今回はサブクラスや子クラス。継承元のクラスのことはスーパークラスや、親クラスと言います。

【extends】
クラスの継承を表しています。

【ActionBarActivity】
継承するクラス。先の「import」で読み込んだやつです。今回は、「MainActivity」から継承されているので、スーパークラスになります。

オーバーライドって?

クラスの中を見ると、「@override」なる記述があります。

これは、オーバーライドアノテーションといいいます。

役割としては、「@override」以降の記述は「オーバーライド」したものですよー。という目印です。

オーバーライドというのは、今回スーパークラスとして参照している「ActionBarActivity」のメソッド(処理)を独自に利用して上書きしてるよ。という意味です。要は、よそのファイルから、クラス(プログラム)を借りてきたものの、借り物のままじゃあマズイので今回の仕様においては、同じメソッドを利用して独自仕様に上書きしているよ。ということです。

今回は、「onCreate」というメソッドで「スパークラスであるActionBarActivityのonCreate」をオーバーライドしているわけです。

同じメソッドで上書きするので、onCreateが2回出てきます。これでは、どっちがサブクラスでどっちがスーパークラスかわかりません。

よって、スーパークラスの onCreate は、「super.onCreate」と表現されています。

ここまでの流れを見ていくと・・・

Androidのアプリを制作する流れとしては、

1:Android Studioで必要なファイルを生成する。

2:必要な「クラス」を呼び出しつつ、利用しながらオリジナルの処理を載せていく。

という大まかな流れが見えてきました。

次回は、実際プログラムを触って見れるかな・・・?

スポンサーリンク

シェアする

フォローする

スポンサーリンク