Androidでアプリ開発(2)

前回はAndroid Studioをインストールしました。

ではさっそくHello World!を.... といきたいところですが、いきなりAndroid Studioを起動すると挫折します。

アプリ作成ツールには独自の開発ルールがあり、それを熟知している前提でヘルプが書かれています。

いきなりAndroid Studioを起動して開発を始めるのは他のチームに移籍して約束事がわからないまま初日からスタメンで試合に出るようなものです。

というわけで今回はAndroidで開発を始める前提の基礎の入門のとっかかりくらいの話を書いておきます。

「フレームワーク」ってものがあるよ!

学校の授業などでプログラムをかじったことがある人は、テキストファイルにソースコードを書いて実行した経験があると思います。

おそらく最初のお題は「画面に "Hello World!"と表示してみよう!」だったのではないでしょうか?

学校の授業であればソースコードを書いてコンパイルして実行するだけで良いのですが、実際の開発現場ではいろいろなお作法があります。

ライブラリを使う

アルファベット順に並べ替えるとか、最大値を求めるとか、よく使う機能はいちいちプログラムを作らなくても他の人が作ったものを流用すれば良いです。

Androidの開発の場合は画面のデザインとか動作に関するプログラムはgoogleの中の人が作ってくれたライブラリが公開されているのでありがたく使わせてもらいましょう。

プロジェクトで開発する

プログラムを作るときは、最終的な成果物ごとにフォルダを作ってその中でソースコードを書きます。このフォルダのことをアプリ開発界隈ではカッコつけてプロジェクトと呼んでます。

大きなプログラムになると、ソースコードを複数のプログラムに分割したり、分割したプログラムを分類して別のフォルダに入れたりしたくなります。

これを放置すると人によってフォルダ構成やプログラムを分割する基準がバラバラになってしまい、他の人がメンテナンスできなくなります。そうならないために通常はフォルダ構成やプログラムを分割する基準を先に決めておきます。

からの...フレームワーク

プロジェクト(というフォルダ構成とファイル分割の基準)やライブラリには相性があります。組み合わせ次第で開発効率が大きく変わるので、プロジェクトとライブラリの選定には非常に気を使います。

あなたの予想は大当たり。プロジェクトとライブラリを組み合わせたものが「フレームワーク」です。ついでにコンパイルする手続きも含まれます。

同じ言語であっても、使用するフレームワークが異なるとプログラムの書き方が異なります。また、他のフレームワークで作ったソースコードは基本的に動作しません。Javaの場合、Strutsで作ったソースコードをJSFで使おうとしても動作しません。

Androidの開発の場合はAndroid Studioのプロジェクト(=フォルダ構成)に従ってソースコードを作成します。ソースコードの作成にはAndroid SDKというライブラリを使います。コンパイルの手続きはGradleという手続きに沿って行われます。

はい、覚えられないですね。覚えなくてOKです。やってくうちにわかるので今は「プロジェクトとライブラリがセットになっているのがAndroid Studio」と理解できれば十分です。

もう少し理解しておく

Android Studioのプロジェクト

上で説明したとおり、フォルダやファイルの構成を決めているのがプロジェクトです。Android Studioで開発する場合は以下のフォルダ構成でプログラムを作成します。

各フォルダの詳細はAndroidのドキュメントを参照してください。

☆マークがあるフォルダは殆どのアプリケーションで必要です。

manifestsの中にプログラム名やバージョンの情報を記載します。Android Studioでプロジェクトを作成する際にウイザードの質問に答えると自動で作記載されるので自分で編集することはほとんどありません。

res/layoutで画面の設計をします。ボタンを配置したり絵を書くエリアを指定したり。

res/menuにはメニューボタンを押したときに表示するメニューを記載しておきます。

javaにはソースコードを記載します。プログラムが起動した時やres/layoutで配置したボタンをタップしたときの動作などをコーディングします。

デスクトップに表示するアイコンはmipmapに入れておきます。

Android SDKのライフサイクル

アプリケーションのアイコンをタップすると、Androidはアプリケーションに「起動しろ! (onCreate)」とか「画面に表示しろ(onStart)」といった命令を送ります。

アプリケーションを起動してから停止するまでに発生するonCreateのような命令全体をライフサイクルと呼びます。

アプリケーションはこれらの命令に応答するためのプログラムを用意する必要があります。

ありがたいことにAndroid SDKにはActivityという雛形があり、onCreate()やonStart()といった関数が最初から用意されています。つまり、Activityクラスをコピーすれば楽にアプリケーションを作成できるというわけです。

Androidのライフサイクルは以下のとおりです。もちろん、全てActivityクラスに雛形が用意されています。

ライフサイクルの詳細はAndroid Studioの公式サイトを参照してください。

簡単なアプリケーションで障害を考慮しなければ太線の部分だけ実装すれば十分です。更に、Activityクラスには最低限のプログラムが既に書き込まれているのでデフォルトのままで十分動作します。

アプリケーションを作る際はActiveの部分(このアプリケーションでやりたいこと)だけ作成すれば良いわけです。

gradleという手続き

「グレイドル」と読みます。

全国の男子中高生のみんな!グラドルじゃないよ!そっちは願望だよ!

これは何かと言うと、コンパイルする手順を記述したり、gradle自身をバージョンアップしたり、要するに開発環境を自動でメンテナンスするツールです。

正直... 知らなくていいかな... 少なくとも最初のうちは。

「面倒くさい作業を自動化したくなったらgradleの事を思い出してね。」とかいうaikoの赤いランプくらいの扱いでいいと思う。

Android 仮想デバイス (AVD : Android Virtual Device)

テストで使うシミュレータです。物理的なデバイスがなくても仮想マシンを使ってアプリケーションのテストができます。

次回作るのでそういうものがあるということだけ知っておいてください。

ちなみに見た目はこんな感じです。

 

理屈はわかった。で、どうすりゃいいのよ

アプリケーションを作るにあたり、最低限知っておかなければいけない概念はこれだけです。

次回はAndroid Studioで「Hello World」を表示するプログラムを作ってみます。

あ、でも1行もプログラムはしません。

 


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です