Android StudioでHello World!を表示する原理
Android Studioとgitlabの環境構築をすることができました。
早速、アプリを開発...
...と言いたいところですが、androidアプリがどのような原理で動作しているのか、どのようなライブラリが用意されているのかなど、全く知らない状態です。
まずは基本の勉強です。
今回は、Andoroid Studioで空のプロジェクトを作成すると「Hello World!」と表示されるシンプルなアプリがデフォルトで作成されますが、この原理について記載します。
私は普段業務でC++を扱っており、偏った知識があるかもしれませんが悪しからず..。
プロジェクトの作成
Android Studioを起動し、「ファイル」→「新規」→「新規プロジェクト」を選択します。
空のアクティビティを選択して「次へ」を押下、
任意のプロジェクト名を入力して設定はデフォルトのままで「完了」を押下します。
新しくプロジェクトが作成されて、下記のファイルがあらかじめ作成されています。
このプロジェクトウィンドウでは目的に応じてビューを切り替えられるようになっていますが、Androidビューで開発を進めます。
基本的に下記のビューを使用することになります。
主なファイルの特徴は下記のとおりです。
- MainActivity:アプリの画面です。1画面につき1つのアクティビティファイルが必要で、デフォルトプロジェクトでは1画面しかないので、ここでもファイルは1つだけです。
- res/drawable:画像を使用する際はここに画像をあらかじめ保存する必要があります。デフォルトではAndroidの画像が用意されているようです。
- res/layout:画面のデザインを記述します。
- res/mipmap:アプリのアイコン画像が保存されています。
- res/values:文字列はここで定数として管理します。基本的にコード内でハードコーディングするのは望ましくないので、ここで定義した定数を都度参照するようにします。
画面のデザインをres/layoutで、動作をActivityで開発することで効率よく作業を進めることができるようですね。
MainActivity
下記のコードがデフォルトで記述されています。
MainActivityというクラスはAppCompatActivityというクラスを継承して、
その親クラスで定義されているonCreateをオーバーライドしていますね。
onCreateはC言語などでいうmain関数のようなもので、アプリを起動するとまずここの処理が走ります。
次に、setContentViewというメソッドにR.layout.activity_mainという引数を渡しています。これはどうやらsetContentViewというメソッドがR.leyout.activity_mainで定義されている内容を表示させているようです。
ではR.leyout.activity_mainとは何者でしょうか。
activity_main.xml
下記のコードがデフォルトで記述されています。
MainActivityではsetContentViewでこのファイルのベース名を指定していたようです。
このファイルにTextViewというヴィジェットが定義されており、
12行目で「android:text="Hello World!"」と定義されています。
この文字列がアプリの画面に表示されていたわけです。
まとめ
Android Studioでは簡単に開発ができるように様々な機能が準備されています。
まずは、これらの使い方を勉強していくことがアプリ開発への近道のように感じました。
私の性分でonCreateのメソッドの中身はどうなっているのか、といった細かいことを調べたくなってしまうのですが、当面の間はやめておこうと思います...。
余談ですが、私はAndroid Studioの環境を構築した後に開発方法をWebで独学してやろうと数時間ネットサーフィンをしていましたが、あまりにも時間がかかってしまうので挫折しました...。
あきらめて本を買って勉強を始めたところ、Webを自転車に例えるなら本は新幹線にのっているような速さで知識を深めることができました。
はじめからケチらず本を買うべきでした...。