【連載】Twitterまとめ - 第2回 サービス企画の苦しみ編(5月3週)
2010年05月27日
サイテック株式会社で、根っからの技術者である社長や、大手IT企業から転職してきた仲間たちと議論しながら、社会をもっと豊かに、幸せにするアプリケーションを作ってみませんか?
この会社の特徴を知る
など 8 記事
など 17 記事
など 66 記事
さて、前回の「Android開発環境を構築」から1ヶ月近くが経ってしまいました。
忙しいと、どうしても、業務優先になってしまい、
このような研究開発的なタスクは後回しになってしまいます。
IT業界の永遠の課題ですね。
前回は、とりあえず、Android開発環境を構築して、
Hello Worldを出したところまででした。
Eclipse上でHello World用のプロジェクトを作成し、
エミュレータで起動したところ、勝手に、「Hello World, HelloWorld」と表示され、
それが何なのかわからない状態で終わっていました。
今回は、Eclipseでプロジェクトを生成した際に作成されたファイルを追いかけて行きたいと思います。
■ソースの構成
Eclipseプロジェクトを生成すると、以下のようなフォルダ・ソースが生成されます。

・src/xxxxx/HelloWorld.java
Activityクラスを継承したクラスで、名前から、メインのプログラムっぽい感じがします。
Activityについては、後で詳しく書こうと思いますが、Androidアプリの画面を指すもののようです。
たぶん、コントローラ的な役割です。
・src/xxxxx/R.java
何者なのか、名前からは全く想像がつきません。。。
「res」ディレクトリ内のリソースへアクセスするためのIDが定義されています。
基本的には自動生成で、かつ、変更禁止のようです。
中身を見ると、staticなクラスと変数が生成されています。
プログラムから「res」フォルダ内のリソースにアクセスする際は、
「R.layout.main」のように、このファイル内の変数にアクセスするようです。
・res/drawable/icon.png
アプリケーションのアイコンです。
配布する際は、これを差し替えると、独自のアイコンになります。
・res/layout/main.xml
画面の構成を定義したXMLファイルです。
中身を見ると、「TextView」というタグがあり、これが、Hello Worldアプリに勝手に表示されていた文字列のようです。
位置づけとしては、MVCのビューにあたるところでしょうか。
・res/values/strings.xml
画面に表示する文字列の定義です。
おそらく、main.xmlに直接記述しても良いとは思うのですが、
グローバルにアプリケーションを配布する前提で、他言語対応しやすいよう
はじめからメッセージファイルが準備されているようです。
こういう仕組みがはじめから用意されていること自体、
従来の開発にはなかったですね。
・AndroidManifest.xml
マニフェスト?
選挙にでも出るんでしょうか・・・。
中身を見ると、アプリケーション名やバージョンなどが記述されているので
アプリケーション自体の設定ファイルという位置づけのようです。
■マニフェストを見てみる
マニフェストという名の通り、このファイルが全ての起点です。
<アイコンを表示する>
Androidにインストールされているプログラムの一覧を表示する際にアイコンが表示されます。
その定義が、↓
<application android:icon="@drawable/icon" android:label="@string/app_name">
書き方が独特ですが、おそらく
「@drawable/icon」という記述は、R.javaで定義したものを指しているようです。
<アクティビティを指定する>
<activity android:name=".HelloWorld" ・・・>
という記述があります。
これは、Activity(=画面)としてHelloWorldクラスを使用することを定義しているようです。
アプリケーション起動時に、このactivityタグで定義されたクラスが実行されます。
■画面の呼び出し
画面レイアウトの定義は、main.xmlで定義されています。
アプリケーションを起動すると、AndroidManifest.xmlの定義に従い、
アクティビティとして指定されているHelloWorldクラスが呼び出されます。
HelloWorldクラスにはonCreateメソッドがあります。
名前から推測するに、activityが最初に作成されたタイミングで実行されるメソッドです。
その中に、
setContentView(R.layout.main);
という記述があります。
R.layout.main
R.javaで定義したIDを使用して、main.xmlを呼び出しています。
これによって、main.xmlで定義されたレイアウト通り、
画面に描写されることになります。
これで、何となく、全体の構成はわかってきました。
次回は、Activityについて書いてみたいと思います。
⇒次の記事「[Android 検証] AndroidのJava」へ
トラックバックはありません
メンバー紹介
2010年05月27日
2010年05月18日
2010年04月26日
2010年04月19日
2010年03月10日
2010年03月10日
2010年02月25日
2010年01月22日
2009年12月24日
2009年12月21日
コメント