アプリ開発に必要なMainActivity.javaとactivity_main.xml

スマホアプリ開発ナビ

おすすめ記事

管理人/サイトについて

Androidスマホアプリ開発の基礎入門知識を紹介します!開発環境の構築、用語の説明など、わかりやすく解説しています。 お問い合わせ: ccdevnavi@outlook.jp

        

MainActivity.javaとactivity_main.xmlとは?

MainActivity.javaとactivity_main.xmlとは?

LINEで送る
Pocket

MainActivityクラスのonCreate()

このアプリのメインとなるActivityの表示内容や動作は、MainActivity.java内の「MainActivity」クラスによって変化します。
(Javaでは大文字小文字を区別しますから、間違って「class mainactivity」などと書き換えないように注意しましょう)
新規プロジェクト作成の際にはActivityに関するいくつかの設定を行えますが、デフォルトでは「ActionBarActivity」を継承する形になります。したがって、何もオーバーライドしなければActionBarActivity(あるいはその親)と同じ動作を行います。
MainActivityではonCreate()以下、三つのメソッドをオーバーライドしていますが、下の二つはメニューの生成などの処理ですから、まずはActivityを作るためのonCreate()を見てください。
一行目では、親クラスのonCreate()を呼んで、親クラスの動作に必要な処理を行っています。
二行目では、setContentView()というメソッドを実行しています。 このメソッドの引数にXMLファイルを指定すると、そこに書かれた内容で画面を生成してくれます。
手作業でボタンなどを生成し、座標を指定して配置することもできますが、特別な理由が無ければこのメソッドでまとめて作ってしまう方が簡単です。
また、画面レイアウトを調整したい場合、XMLファイルを変更するだけですむ、というメリットもあります。

activity_main.xmlの内容

setContentView()で指定されている「R.layout.activity_main」というxmlファイルをパッケージエクスプローラーから開いてみましょう。「res」フォルダの中の「layout」フォルダにactivity_mainというXMLファイルが入っているはずです。
これを開くと、例によってXML解析によって作られたタブとXMLそのもののタブが表示されますが、今回は左側の「グラフィカル・レイアウト」タブを選択します。
このタブではグラフィカルの名が示すように、XMLで指定されたボタンやリストなどの配置情報を、実際のアプリと同じような形で表示してくれます。あくまでもレイアウトを表示しているだけですから動作はしませんが、XMLを手作業で書き換えなくても、この画面上で新たなボタンなどを追加したり、位置を調整することができます。
「アウトライン」というウィンドウには、このXMLの階層構造が表示されています。トップは「RelativeLayout」、その子は「TextView」です。
このRelativeLayoutは現在利用が推奨されているレイアウトクラスで、設定次第でとても柔軟なレイアウトが行えます。レイアウトクラスというのは、ボタンなどの位置やサイズを自動で適切に調整してくれるクラスだと考えてください。
「ウィンドウ」メニューの「ビューの表示」→「その他」から、「一般」の「プロパティー」を選択してプロパティーウィンドウを表示すると、画面クリックやアウトラインで選択した項目の詳細を見ることができます。TextViewを選択すると、「Text」に「@string/hello_world」という値が設定されていることが確認できるでしょう。これにより、その内容である「Hello world!」が画面に表示されているわけです。
また、「Layout Parameters」という項目を開くと、下の方の「Width」「Height」に「wrap_content」が指定されていいます。これはコンテンツ、ここでは「Hello world!」というテキストに合わせてサイズを調整する、という意味です。
一方、RelativeLayoutでは「match_parent」という値が指定されています。これは「親のサイズに合わせる」という意味ですが、RelativeLayoutに親は無いため、端末の画面と同じサイズとなります。

スマホアプリ開発に興味のある方におすすめの記事