2009年4月アーカイブ

Android SDKに付属のサンプルコードに含まれる「Snake」をビルドし、実行してみました。
※ソースコードは、%android-sdk%\samples\Snakeにあります

Snake.png

ゲームの内容としては、黄色い頭と赤い胴体の蛇(Snake)を上下左右カーソルキーで操作し、ランダムに出現する黄色いリンゴを食べ続けるというものです。リンゴを食べると、胴体が長くなり、だんだん移動速度も早くなります。自分の胴体や周囲の緑の壁に衝突するとゲームオーバーです。

ゲームの主要部分は、SnakeVIew.java(約560行)に書かれており、数少ないゲームのサンプルプログラムの一つです。このソースコードをベースに、音をつけたり、ネットワーク対戦型に拡張するなどすれば勉強になると思います。

※ちなみに、このSnakeゲームは、約25年前にPC-88でテープレコーダーから読み込んで遊んでいました(懐かしいです)

[Android] JetBoy

| トラックバック(0) |

Android 1.5 Early Look SDK付属のサンプルコードに含まれる「JetBoy」をビルドし、実行してみました。
※ソースコードは、%android-sdk-1.5_pre%\platforms\android-1.5\samples\JetBoyにあります

JetBoy

上図のとおり、横スクロール型シューティングゲームの見た目ですが、ゲームのサンプルコードだけでなく、Android 1.5で新規に追加されるandroid.mediaパッケージJetPlayerクラスのサンプルコードとなっています。

ゲームの内容としては、右から流れてくる隕石(Asteroid)に対して、タイミングよくボタンを押し、隕石を破壊するものですが、破壊できた隕石の数に応じて、BGMのビートが変更されるというものです。
※JetBoy(自機)の上下移動は自動的に行われます

このBGMのビートを変更しているソースコードは、JetBoyView.javaファイル、JetBoyViewクラスのprocessJetEvent()メソッド内のJetPlayerインスタンスへの呼び出しであり、JetPlayerクラスのためのサンプルコードとも言えそうです。
※背景の2重スクロールも同ファイルdoDrawRunning()メソッドで実現しています
※JetPlayerクラスのドキュメントは、%android-sdk-1.5_pre%/docs/reference/android/media/JetPlayer.htmlにあります

ちなみに、ゲーム終了時に50個以上破壊しているとクリアとなります。

はじめてのAndroidプログラミング―「Android SDK」で「Googleケータイ」用ソフトをつくる! (I/O BOOKS)」を読みました。
※本のタイトルが以前紹介した[Android] 「初めてのGoogle Androidプログラミング」を読みました - adakodaに似ていますが、別の本です

「はじめての...」ということで、初心者の方が対象です。
Android SDK1.0/1.1が対象ですが、1.1に特化した記載は無いです。
A5サイズなので片手で持って読めます。
以下、詳細です。
※全部で303ページ11章あります。

第1章 Android SDK (9ページ)
Android / SDKとは何か、Androidの構造など。

第2章 開発環境の整備 (30ページ)
Android SDK(1.1の新しいURL)の入手方法、SDKのインストール、Eclipse+Pluginのインストール、エミュレータの起動など。

第3章 まずは「Hello, World!」 (31ページ)
EclipseでHello Worldの作成する方法に加え、TextViewを追加して文字列を表示する方法。デバッガの使い方。AndroidManifest.xmlの記述など。

第4章 SDK付属のサンプルを解説 (45ページ)
SDK付属サンプルのLunarLander(月面着陸ゲーム)のソースコードに日本語でコメントをつけたソースコードが掲載されています。NotePadは、2ページだけですが紹介されています。
LunarLanderのようなゲームを作成したい方は、同コメントが参考になると思います。

第5章 コンポーネントについて (19ページ)
アクティビティ、ビュー、インテント、サービス、通知、コンテント・プロバイダなど。

第6章 画面のレイアウト (48ページ)
LinearLayout、TableLayout、RelativeLayout、AbsoluteLayout、その他のレイアウト、ボタンが押された時の処理、その他のコンポーネント(アナログ時計、デジタル時計、チェックボックス、オートフィル、プルダウンメニュー、画像のギャラリーの表示)、リソースファイルの画像ファイルの表示。
DroidDrawというコンポーネントをドラッグアンドドロップしてXMLファイルを作成するツールの紹介。

第7章 データの入出力 (27ページ)
ファイルの入出力、データベースの入出力(SQLite)など。

第8章 セキュリティ (4ページ)
アクセス制御としてユーザーIDの概念など。

第9章 各種サンプル (51ページ)
ビューの切り替え、ラジオボタン、オプションメニュー、コンテキストメニュー、プレファレンスの保存・取り出し、ファイル操作(第7章とは違って、ディレクトリのファイル一覧を表示するサンプル)、画像を移動させる、など。

第10章 トップ画面に項目を追加してアプリを動かす (9ページ)
アプリのインストール、アンインストール方法など。

第11章 「Android SDK」付属の「その他」のツール (6ページ)
Hierarchy Viewer、Draw 9-patchの紹介など。

Amazonの商品の説明は、以下のリンクから参照できます。

はじめてのAndroidプログラミング―「Android SDK」で「Googleケータイ」用ソフトをつくる! (I/O BOOKS)  

[Android] Android 1.5 Early Look SDK

| トラックバック(1) |

「Android 1.5 Early Look SDK」がリリースされました。
こちら(http://developer.android.com/sdk/preview/)のページからダウンロードできます。
※SDK1.5では、ADTの更新も必要であり、新しいバージョンのADT 0.9も公開されています。

また、Android1.5の機能(ハイライト)については、
こちら(http://developer.android.com/sdk/preview/features.html)に記載されています。

 

インストール手順

  1. http://developer.android.com/sdk/preview/ページを表示し、SDKとADT 0.9をダウンロードする。
  2. ダウンロードしたSDKを任意のフォルダに解凍/展開する。
  3. Eclipseを起動し、「Help」 > 「Software Update」メニューをクリックし、
    表示された「Software Updates and Add-ons」画面の「Installed Software」タブを表示後、
    「Android Development Tools」「Android Editors」を選択し、「Uninstall」ボタンをクリックする。
    ※この作業は、古いADT(例えば0.8)をインストールしていた方が対象です。
  4. 「Help」 > 「Software Update」メニューをクリックし、
    表示された「Software Updates and Add-ons」画面の「Available Software」タブを表示後、
    「Add Site」ボタンをクリックし、表示された「Add Site」画面の「Archive」ボタンをクリックし、
    ダウンロードしてきたADT 0.9(ADT-0.9_pre.zip)を選択、
    追加されたツリーアイテムを選択した状態で「Install」ボタンをクリックし、
    インストールを開始させる(その後の手順は、表示された指示に従う)。
  5. 「Window」 > 「Preferences」メニューをクリックし、
    表示された「Preferences」画面の「Android」をクリックし、
    「SDK Location」にAndroid 1.5 SDK(android-sdk-windows-1.5_pre)のパスを設定し、
    「Apply」「OK」ボタンをクリックし、画面を閉じる。
  6. 環境変数でSDKのパスを追加していた場合には、更新する。
    ※コマンドラインから新しいコマンド(例えば、android)などを実行できれば、OKです。

 

その他

  • ADT 0.9では、「New Android Project」ウィザードで、「Min SDK Version」を設定できるようになっています。
    ※Android 1.5は、Min SDK Version = 3
  • ADT 0.9からAVD(Android Virtual Device)として、複数のシステムイメージを選択して起動できるようになっています。
  • 利用可能なAVDを表示するには、コマンドラインから「android list targets」を実行します。
    ※表示された[1][2][3]などがtatget IDです。
  • AVDを使用するには、少なくとも1つ以上のAVDを作成する必要があり、
    AVDを作成するには、コマンドラインから「android create avd --name sdk1.5 --target 2」などを実行します。
    ※ここでの例では、--nameで、AVDの名前として「sdk1.5」、--tagetで、IDとして2を指定することでAndroid 1.5を選択しています。
    ※作成していない状態で、EclipseからAndroidプロジェクトを実行すると、
    「Failed to find an AVD compatible with target 'Android 1.5'. Launch aborted.」のようなエラーが表示されます。
    ※2009/4/29追記:Failed to ...の対処方法の詳細については、「[Android] Android Virtual Devices (AVDs) - adakoda」にも詳細記事があります
  • 任意のAVDを指定してエミュレーターを起動する場合、コマンドラインから「emulator @sdk1.5」などを実行します。
    @(アットマーク)の後に、作成したAVDの名前(ここでは、sdk1.5)を指定します。
    ※sdk1.5は、ここでのサンプルですので、作成された名前に適宜読み替えてください。
  • 作成したAVDを削除するには、コマンドラインから「android delete sdk avd sdk1.5」などを実行します。
    ※ここでは、sdk1.5という名前のavdを指定していますが、適宜読み替えてください。

 

  Android1.5

1.AnalogClock(アナログ時計)

Android.widgetパッケージに含まれるAnalogClockクラス。
Androidのソースコードでは、frameworks\base\core\java\android\widget\AnalogClock.java。

約240行のソースコードですが、基本となるアナログ時計を実装しています。
外観は、「アナログ時計(AnalogClock)を使用するには - 逆引きAndroid入門」からも参照できます。

時計の針は、リソースから取得したDrawableを、onDraw()で、Canvasを回転させて描画しています。
時計の更新は、1分毎に行われるのですが、このきっかけを作っているのは、
onAttachedToWindow()で、Intent.ACTION_TIME_TICKというIntentFilterをregisterReceiver()している処理です。

2.DigitalClock(デジタル時計)

同じくAndroid.widgetパッケージに含まれる、DigitalClockクラス。
Androidのソースコードでは、frameworks\base\core\java\android\widget\DigitalClock.java。

こちらも約140行と短いソースコードですが、基本となるデジタル時計を実装しています。
外観は、「デジタル時計(DigitalClock)を使用するには - 逆引きAndroid入門」からも参照できます。

時計の文字は、TextViewを使用しています。
時計の更新は、1秒毎に行われるのですが、このきっかけを作っているのは、
onAttachedToWindow()で、Handlerに対して1秒後にpostAtTime()している処理です。

3.AlarmClock(アラーム付きデジタル時計)

AndroidにプレインストールされているAlamClockアプリケーション。
Androidのソースコードでは、packages\apps\AlarmClock。

アラーム機能を実装しているため、同機能を実装する際に参考になります。

時計の更新は、上述したAnalogClockと同じ仕組みです。

4.GlobalTime

OpenGL ESを使用。
Androidのソースコードでは、development\samples\GlobalTime\src\com\android\globaltime。

時計の更新は、連続して行われるのですが、このきっかけを作っているのは、
GlobalTIme.javaのhandleMessage()で、sendEmptyMessage()している処理です。
※仕組みとしては、上述したDigitalClockと同じですが、さらに更新間隔が短いです。

  • Austria(オーストリア)
  • Germany(ドイツ)
  • United Kingdom(イギリス)
  • United States(アメリカ合衆国)

※2009年4月2日現在
※ただし、USとUK在住の開発者に限る(追記)

<<前のページへ 12

2010年9月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

自作フリーソフトウェア