飴屋

Androidアプリ/日記3

何から始めればいいのかな?

自分の作りたいAndroidアプリのおおよその姿が見えてきたので、実際に制作作業に入ってみようとおもいます。とりあえず、eclipseを起動して「Android Project」をNewします。

ProjectNameは「WeightManager」としておきました。

「Build Target」はどうしたものかちょっと悩みます。自分の端末はHTC Desireなので、Android 2.0向けにビルドすればいいのかなと思いましたが、国内の端末はAndroid 1.6が断然多いようにも思います。ボチボチAndroid 2.1端末の発売ラッシュになりそうでもありますが、はてさて・・・。とりあえず、新しいバージョンのAndroid OSの機能を使うようなこともなさそうなので、Android 1.6向けにビルドすることにしました。

「Application name」はプロジェクト名のまま「WeightManager」。

「Package name」は適当にうちの屋号を入れておきます。

「Create Activity」にチェックを入れておくとActivityを勝手に作ってくれるそうなので「ManageWeight」という名前のActivityを作ってもらうことにします。Activityのことは別途整理して考えることにしましょう。ここでは「アプリで何をするか(Activity)」→「体重を管理する」ということで暫定的に「ManageWeight」と名前を付けておきました。

「Min SDK Version」は、最低限必要な機能を持っているAndroid SDKのバージョンを書いておけばいいのだと思いますが、自分はどの機能がどのバージョンから追加されたかなんてことに精通しているわけではないので、とりあえずビルド対象のAndroid 1.6のAPI Levelである「4」を指定しました。

「Finish」ボタンを押すと新しいプロジェクトが生成されました。

プロジェクトのファイル構成

eclipseでAndroid Projectを新規に作成した結果、指定の場所にいろいろとファイルやディレクトリが作成されました。

  • .settings
    • org.eclipse.jdt.core.prefs
  • assets
  • bin
  • gen
    • (パッケージ)
      • R.java
    • res
    • drawable-hdpi
    • drawable-ldpi
    • drawable-mdpi
    • layout
    • values
  • src
    • (パッケージ)
      • ManageWeight.java
    • .classpath
  • .project
  • AndroidManifest.xml
  • default.properties

.settings/org.eclipse.jdt.core.prefs

多分、eclipseの設定ファイル。編集する必要はなさそう。

assets

空っぽのディレクトリ。アプリ上で使用するファイルを入れておくためのディレクトリのようです。ただし、リソースファイルは後述のresディレクトリに入れます。今回のアプリ開発では使わなそうなディレクトリ。

bin

空っぽのディレクトリ。名前から推測するにきっとビルドが終わったバイナリファイルが保存されることでしょう。

gen/(パッケージ)/R.java

後述のresディレクトリの中身が自動的に読み込まれて、javaのソースファイルとして勝手に生成されるようです。自分で手を加える必要はなさそう。

res

リソース保存用のディレクトリ。この中のファイルをアプリ中で呼び出したり、貼りつけたりできるようになります。リソースの種類ごとにディレクトリが分かれています。

ディレクトリ名リソースファイルの種類
animアニメーション表現用XMLファイル
drawable画面描画用のPNGファイルやJPEGファイル
layoutView表現用XMLファイル
values文字列、カラーリング、サイズなどを表現するXMLファイル
xmlユーザの独自定義XMLファイル
raw生データ

res/rawのデータを覗いて、各リソースファイルはコンパイル時に最適な形にコンパイルされます。例えば、XMLリソースであればバイナリ化されるそうです。

また、ディレクトリ名に特定の接尾辞をつけることでリソースの使われる条件を特定することもできるそうです。生成されたプロジェクトのdrawableディレクトリには「-hdpi」「-mdpi」「-ldpi」という接尾辞がついていて、画面の解像度に応じて表示するアイコン(icon.png)のサイズが切り替えられるようになっていました。

res/drawable-hdpi/icon.png

高解像度画面用のアイコンファイル。72x72のアイコン。

res/drawable-mdpi/icon.png

中解像度画面用のアイコンファイル。48x48のアイコン。

res/drawable-ldpi/icon.png

低解像度画面用のアイコンファイル。36x36のアイコン。

res/layout/main.xml

「ManageWeight」という名前で自動生成されたActivityの画面レイアウトを定義するXMLファイルの模様。

res/values/strings.xml

アプリ中で使用する文字列を定義するファイル。多言語対応する場合は、このファイルを言語毎に作ってあげればいいのだろう、多分。

src/(パッケージ)/ManageWeight.java

「ManageWeight」という名前で自動生成されたActivityの動作を決めるjavaソースファイル。ここにアプリでやりたいことをガリガリ書いてあげればいいのだと思われる。

.classpath

中身をみると、コンパイル時のクラスパスに関する設定らしかった。編集する必要は特に今のところなさそう。

.project

このプロジェクトに関する設定ファイルの模様。編集不要っぽい。

AndroidManifest.xml

アプリに関する定義ファイル。どんなアプリか、何ができるのか、どんな権限が必要なのか・・・などの情報が定型的に書かれているようだ。「ManageWeight」という名前で自動生成されたActivityのことも書いてある。eclipse上では設定変更用の画面が用意されているので、こちらで編集すれば間違いなさそう。

Androidマーケットからアプリをダウンロードする際に、「このアプリは○○機能を使いますので、信用できないアプリは自己責任で使ってね」と暗に確認が出ますが、セキュリティ上の危険が起こりうる機能はこのファイルで明示的に宣言するみたいです。

default.properties

ファイルを開いてみるとAndroid Toolsで自動生成されたと書いてあった。あと勝手に編集するなとも書いてあった。バージョンコントロールシステムがこのアプリのビルド対象OSを確認するときに使われるファイルのようです。

最初の一歩、プロジェクトの作成はこんなところです。

日記一覧