Pocket

こんにちは。

今回は、MacOS Xを用いてAndroidアプリの開発環境作成とアプリ開発に挑戦してみます。
ちなみに、筆者の自宅にはWindows環境がないので、対象はMacOSのみです。あしからず。

対象のMacは以下のものを用いました。

  • 使用HW:MacBook Air 13-inch, Mid 2011 1.7GHz Intel Core i5
  • 対象OS:MacOS X Ver.10.8.2
  • Java Ver.1.6.0_41
  • eclipse4.2.1 JUNOインストール済み

実施内容は以下の通りです。

1.MacOS XへAndroid SDKのインストールを実施します。
2.インストール済みのeclipseに対して、Androidパッケージをインストールします。
3.eclipseから起動できるAndroidエミュレータの設定と、起動方法を説明します。
4.エミュレータ上で起動したAndroidのロケール設定の方法を説明します。
5.Androidパッケージをインストールしたeclipse上でHelloWorldアプリを作成し、実行するまでを説明します。

では、早速環境作成から始めてみます。

1.Android SDKのインストール

1-1.SDKのダウンロード

・以下のURLを開く
http://developer.android.com/sdk/index.html

1-2.”Download the SDK ADT Bundle for Mac”をクリック。

1-3.以下の画面が開くので、利用規約に合意(”I have read and agree with the above terms and conditions.”にチェック)して、”Download the SDK ADT Bundle for Mac”ボタンをクリック。

1-4.次の画面が開いて、SDKのダウンロードが始まる。

1-5.ダウンロードが終わったら、ダウンロードされた”adt-bundle-mac-x86_64”を”アプリケーションフォルダへ移動

2.eclipseにAndroidパッケージをインストール

2-1.Helpメニューから”Install New Software…”を選択

2-2.Install画面画面が開いたら、”add…”ボタンを押下して”Add Repository”ダイアログを開く。

2-3.”Add Repository”ダイアログのName:に”Android SDK”、Location:に以下のURLを入力して、OKボタン押下。
https://dl-ssl.google.com/android/eclipse/

2-4.Install画面のWork with:にAdd Repositoryダイアログで入力したNameとURLが設定される。
ここで、Nameリストの全てにチェックを入れ、”Next >”ボタン押下。

2-5.インストールを完了して、eclipseを再始動すると、以下のワーニングメッセージ表示後にSDKのディレクトリを指定する。

2-6.プライバシーポリシーへの合意

2-7.Preferences画面が開くで、Android SDKのToolsを格納しているディレクトリを指定する。

2-8.Android SDKのロケーションを設定する画面が開くので、3でインストールしたSDKのディレクトリを指定して、”Next >”クリック。

2-9.使用統計を送付するかを聞かれるが、送っても送らなくてもインストールは問題ない。

2-10.エミュレータの起動に必要なパッケージのインストール。Packagesの”Android SDK License”を選択し、”Accept License”を選択して、Install実行。

2-11.パッケージのインストール後、WindowメニューにAndroid SDK Manager等のメニューが表示されるように設定
(環境によっては不要かもしれない。)

2-11-1.Windowメニューから、”Customize Perspective”を選択。

2-11-2.Customize Perspective画面が開くので、Command Groups Availabilityタブをクリック。

2-11-3.”Android SDK and AVD Manager”をチェックしてOK

2-11-4.Windowメニューに”Android SDK Manager”と”Android Virtual Device Manager”が追加される。

2-12.必要であれば、追加のパッケージをインストールする

    • Windowメニューから”Android SDK Manager”を開き、必要項目を選択してインストール

3.Androidエミュレータの設定と起動

3-1.Windowメニューから、Android Virtual Device Managerを起動

3-2.”New…”ボタンを押して、”Create new Android Virtual Device”画面を開く

3-3.”Create new Android Virtual Device”画面の設定。

今回”Create new Android Virtual Device”画面で設定した項目は以下の通り

    •  AVD Name:Android4.2NexusOne(名前なので何でも良い。)
    • Device:Nexus One(3.7″,480 × 800: hdpi)
    • Target:Android 4.2 – API Level 17)
    • CPU/ABI:ARM (armeabi-v7a) (Nexus Oneの場合はこれで固定)
    • Keyboard:チェック(チェックを入れると、PCのキーボードから入力可能。外すとソフトウェアキーボードが表示される。)
    • Skin:チェック(チェックを入れると、エミュレータハードウェアキーが表示される。表示されない状態でどの様に操作するかは不明)
    • Front Camera:付けていないので選択不可
    • Back Camera:None(MacBook AirのFaceTimeカメラをBack Cameraとして認識しているようだが、とりあえず必要ないので。)
    • Memory Options:デフォルトのまま
    • Internal Storage:10 GiB(デフォルトの200MiBでは、不安だったので増やしたが、増やさなくても問題ないかも。)
    • SD Card:デフォルトのまま(とりあえず必要ないので。)
    • Emulation Options:Snapshotにチェック、Use Host GPUはチェックなし
      • SnapShotは終了時の状態を保持する機能。開発中のAPを起動できなくなる問題があったので、後で外した。
      • Use Host GPUは付けるとHost PCのGPUを使えるようになる。チェックしても良さそう。

3-4.上記の設定で”OK”ボタン押下

3-5.”Start…”ボタンを押すと、”Launch Options”画面が表示される。

    • Scale display to real size
      • 画面解像度が大きいデバイスをエミュレートする場合に画面を縮小表示してくれる。 今回は必要ないので、チェックしていない。
    • Wipe user date
      • エミュレータ環境内のデータを削除する。
    • Launch from snapshot
    • Save to snapshot
      • 上記二項目は”Create new Android Virtual Device”画面の”Snapshot”からチェックを外すと無効になる。

3-6.”Launch”ボタンを押して、エミュレータ起動。

4.Androidエミュレータのロケール設定

4-1.ホーム画面の真ん中下のアイコン(◯に・・・のアイコン)をクリック。

4-2.Apps画面が開くので、”Custom Locale”アイコンをクリック。

4-3.Locale Listから”ja_JP – Japanese”を選択し、”Select ‘ja_JP'”ボタンを押下。

4-4.日本語に切り替わった。

5.eclipseでのAndroidアプリの作成方法

8-1.eclipseのFileメニューから[New]>[Project…]を選択。

5-2.New Project画面で”Android Application Project”を選択し、”Next >”ボタン押下。

5-3.New Android Application画面に必要事項を入力し、”Next >”ボタン押下。

5-4.Configure Project画面に必要項目を入力し、”Next >”ボタン押下。

    • Create custom launcher icon:今回、アイコンは作らないのでチェックは外す。
    • Create activity:チェック(今回は基本のパターンなので。)
    • Mark this project as a library:チェックなし(今回はライブラリを作るわけではないので。)

5-5.Create Activity画面で作成対象のActivityを選択し、”Next >”ボタン押下。

    • 今回は基本のアプリなので、”Blank Activity”を選択。

5-6.Blank Activity画面で必要項目を入力して、”Finish”押下。(やっと終わり。)

    • まずは”HelloWorld”が表示できれば良いので、Navigation Typeは”None”を選択。

5-7.Projectができた。

    • 実は、上記の手順でスケルトンのProjectを作成した段階で、すでにHello Worldプログラムは完成してしまっている。
      このまま実行するには、以下のようにする。

5-8.上記で作成した”HelloWorld”プロジェクトをcontrol+クリック(もしくは、二本指タップ)し、[Run As]>[2 Android Application]を選択。

5-9.エミュレータが起動され、Appメニューに”HelloWorld”がインストールされているので、クリックして起動する。

    • “Hello World!”が表示された。

5-10.想定外にProject作成だけでHello Worldアプリができてしまったので、後は簡単な内容の解説をする。

5-10-1.8-6で名前を指定して自動生成されたActivityファイルを開く。(このActivityがMainのActivityとなる。)

    • ここでActivityのライフサイクルから、”onCreate”メソッドが最初に呼び出されるが、その中の”setContentView”メソッドが、画面表示メソッドになる。
    • “setContentView”メソッドに渡しているパラメータは、この場合、xmlファイルに定義した画面レイアウトを表しており、それが、”activity_main.xml”ファイルになる。

5-10-2.”activity_main.xml”ファイルをGraphical Layoutで表示すると、以下のようになる。

5-10-13.ここで、”Text Appearance”hello_worldに設定する文字列を定義しているファイルが”res/values/strings.xml”になり、そのファイルのResourcesから”hello_world”を開くと以下のようになっている。

    • 上記でResoures”hello_world”に定義しているvalue”Hello world!”が画面に表示されている。

5-11.Resoures”hello_world”のvalueを”Hello New World!”に変更してみる。

5-12.この状態で実行。

    • 修正したとおり、”Hello New World”と表示された。

終わりに

以上、MacOS X上にAndroid SDKをインストールして、Project作成時に自動生成されるアプリの実行と、簡単な修正まで実施しましたが、Android SDKには画面レイアウトツールもあり、比較的簡単に画面を作ることができそうです。
ただし、エミュレータの起動にはやや難があり、そもそも起動までに結構時間がかかることや、起動に失敗して固まってしまうことがしばしばありました。
これは環境設定方法の問題もあるのかもしれませんし、MacOS環境特有の問題かもしれません。

ちなみに、比較のためにXcodeを用いてiOS用のHello Worldアプリも作ってみたのですが、こちらはさすがApple純正と言うこともあり、Xcodeをインストールするとそのままエミュレータ環境まで構築され、アプリの自動生成こそされませんでしたがInterface Builderを用いてあっという間にHello Worldアプリができてしまいました。

これにはちょっと驚きですが、こんな簡単なアプリなので、評価は早すぎますね。
できれば、もう少しいじってみたいと思いました。