E3、WWDC、Amazon Product Advertising API

今月は注目しているイベント、E3、WWDCがあったのでまとめておきます。

E3のそれぞれのメーカーのカンファレンスは

GameSpot:Video Games PC PlayStation 2 Xbox 360 Wii PS3 GameCube PSP DS GBA PS2 PlayStation 3
http://www.gamespot.com/

の画面左上の GAMESPOT という文字の下にある ’Xbox 360‘、’Wii’、’PS3‘ タブの中から一つを選び、その下の一番大きい領域の左隅に縦に並んでいる四つの小さなエリアから、緑色の背景に

'Microsoft
E3 PRESS
CONFERENCE'

と表示されている画像、

Microsoft Xbox 360 Specs - Xbox 360 Pics - Xbox 360 News - Xbox 360 Games
http://www.gamespot.com/xbox360/index.html?navclk=xbox360&tag=nav-top;xbox360

同じく ‘Wii’ タブの左上の四つの小さなエリアに水色の背景で

'Nintendo
E3 PRESS
CONFERENCE'、

と表示してある画像、

Nintendo Wii Specs - Nintendo Wii Pics - Nintendo Wii News - Nintendo Wii Games
http://www.gamespot.com/wii/index.html?navclk=wii&tag=nav-top;wii

PS3‘ タブの小さなエリアに紫色の背景で

'SONY
E3 PRESS
CONFERENCE'
Sony PS3 Pictures - PS3 Games - Sony PlayStation 3 Pictures - PlayStation 3 Games
http://www.gamespot.com/ps3/index.html?navclk=ps3&tag=nav-top;ps3

と表示されいる画像をクリックすると、ストリーミング映像を見ることができます。また、年齢を尋ねられたら、入力してください。

3つとも見たのですが、Microsoft は FPS に片寄っている気がしました。Project Natal には驚きました。Microsoft、Sony の入力デバイスは Wii をかなり意識しているようですね。個人的には Style Savvy (日本語版、わがままファッションGirls Mode) のようなゲームが出てくる任天堂のすごさを見たような気がします。

WWDC 2009 基調講演は

Apple - QuickTime - Apple WWDC Keynote Address
http://events.apple.com.edgesuite.net/0906paowdnv/event/index.html?internal=ijalrmacu

日本語翻訳付き

macwebcaster.com
http://www.macwebcaster.com/

iTunes Podcast

Apple Keynotes
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=275834665

で見ることができます。私は Podcast を利用しました。iPhone 3G S は楽しみですね。現在は iPod touch を使用しているのですが、iPhone 3G S を購入するかどうか悩んでいます。

話は変わりますが、amazon アソシエイトを調べてみると拙作 BookLibrary、CDjacket、DVDjacket [ http://kyoshiaki.sakura.ne.jp/osx/index.html ] のいづれかを利用している人が結構いるようです。

amazon の Web サービス (Product Advertising API) を利用するには、2009年8月15日以降、電子署名が必要になります。そのため現在の BookLibrary、CDjacket、DVDjacket は 2009年8月15日以降、利用できなくなります。

DVDjacket は利用している人はいないと思うので対応する予定はありませんが、CDjacket は、いろいろなところで紹介されているし、BookLibrary は私が使用しているので、対応させるつもりです。基礎となるコードは何とか完成させているので、技術的な問題はありません。(あまり自信はないのですが!) 2009年8月15日までには公開する予定です。

Myst、Bento、VMware Fusion、Windows 7 RC、Ubuntu 9.04 日本語版、Android 1.5 SDK、YouTube キャプチャー動画公開

iTunesApp Store で公開されるアプリは iPhone OS 3.0 上で動作することが必須になったので、遅ればせながら iPhone SDK 3.0 beta 5 をインストールしました。問題なく動作しています。

iTunes 上のApp Store で、次の2つの iPhoneiPod touch 用アプリケーションを購入してみました。

Myst
カテゴリ/ゲーム
\700
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=311941991&mt=8
Bento
カテゴリ/仕事効率化
\600
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=314638461&mt=8

ずいぶん昔になりますが、Mystセガサターン(コンシューマ用ビデオゲーム機)で遊んだ記憶があります。エンディングを見たかは覚えていませんが、攻略本は確か購入したはずです。現在はなくしてしまいましたが!iPhoneiPod touch 版の Myst は 727 MB もあります。私の iPod touch は 32GB 版なので、容量的には問題はありません。日本語にはローカライズされていませんが、懐かしかったので購入してしまいました。本当によくできています。

私は試していませんが

How To Beat Myst on the iPhone in 5 Minutes | Mac|Life
http://www.maclife.com/article/howtos/how_beat_myst_5_minutes

で 5分でエンディングが見れるようです。

Bento はあまり使用していないので、判断しにくいですね。 Cover Flow のインターフェイスは面白いのですが、私が使った限り機能的には実用性に乏しいと思いました。

また Windows 7 RC 版が公開されました。

Windows 7 にようこそ
http://www.microsoft.com/japan/windows/windows-7/default.aspx

当たり前かもしれませんが、Mac OS X 上の Safari から Windows 7 RC版をダウンロードを試みましたが無理でした。VMware Fusion 上の Windows XP Professional から IE を使ってダウンロードしました。(Windows Live ID が必要でしたので MSN Hotmail アカウントを新規登録せず Gmail のメールアドレスを使って作成しました。)

VMware Fusion を使って Windows 7 RC 版 ‘仮想マシン‘ を作成するために

VMware: Team Fusion: Windows 7 on Mac with VMware Fusion: A Practical Guide Revisited
http://blogs.vmware.com/teamfusion/2009/05/windows-7-on-mac-with-vmware-fusion-a-practical-guide-revisited.html

上記ページを参考にしました。別に難しいところはありません。気をつけるところは

オペレーティング システム: Microsoft Windows
バージョン: Windows Vista (64版のときは Windows Vista x64 Edition)

と設定するぐらいです。何の問題もなくインストールできました。正常に動作しています。

VMware: Team Fusion: Windows 7 on Mac with VMware Fusion: A Practical Guide Revisited
http://blogs.vmware.com/teamfusion/2009/05/windows-7-on-mac-with-vmware-fusion-a-practical-guide-revisited.html
Stop Windows 7 From Suspending Itself Every 30 Minutes

は設定しておくべきです。実行画面を添付しておきます。

話は変わって

Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team
http://www.ubuntulinux.jp/products/JA-Localized/download

Ubuntu 9.04 日本語版が公開されたので ‘BitTorrent プロトコル対応のファイル共有ソフト’ Transmission を使ってダウンロードしました。また Android 1.5 SDK, Release 1も発表されていたので

Android 1.5 SDK, Release 1 | Android Developers
http://developer.android.com/sdk/1.5_r1/index.html

Ubuntu 9.04 日本語版に

Installing the Android SDK | Android Developers
http://developer.android.com/sdk/1.5_r1/installing.html

Android 1.5 SDK, Release 1 をインストールしてみました。AVD について詳しく述べられていないので

Developing In Eclipse, with ADT | Android Developers
http://developer.android.com/guide/developing/eclipse-adt.html
Running Your Application
Android Virtual Devices | Android Developers
http://developer.android.com/guide/developing/tools/avd.html

を参考に作成しました。

簡単に言えば、アプリケーション ‘端末’ 上で

android create avd -n my_android1.5 -t 2
android create avd -n my_android1.1 -t 1

を実行しただけです。

また、Hello, Android: Introducing Google‘s Mobile Development Platform

のサンプルをビルドする方法を記載しておきます。Hello, Android 本は

日本語訳も発売されているようです。

Upgrading the SDK | Android Developers
http://developer.android.com/sdk/1.5_r1/upgrading.html#UpdateYourProjects
Update Your Projects

上記資料が参考になります。

まず最初に、Eclipse のメニュー ‘File/Import…’ を選び

‘General’ タブの ‘Existing Projects into Workspace’ を選択し、Next ボタンを押します。

ウインドウが開いたら ‘Select root directory’ の ‘Browse…’ ボタンを押し、読み込みたいプロジェクトのフォルダを指定します。(ここではサンプル OpenGL で説明します。)

‘Copy projects into workspace’ にチェックを入れ、’Finish’ ボタンを押します。これでプロジェクトが読み込まれます。このままではエラーが出て Run できません。そこで次の設定を行ってください。

エラー:
Android requires .class compatibilitiy set to 5.0. Please fix project properties.

というエラーが出るので、プロジェクト名 OpenGL を右クリック、メニュー ‘Properties/Java Compiler’ を選び、

‘Enable project specific settings’ にチェックを入れます。(これで正しいのか自信はありません) ‘Apply’ ボタンを押し適用した後、

エラー:
Project has no target set. Edit the project properties to set one.

のエラーを取り除くため、’Android‘ を選択し (プロジェクト名 OpenGL を右クリック、メニュー ‘Properties/Android‘)、’Project Build target’ の ‘Target Name’ を選択します。通常 ‘Android 1.5′ にチェックを入れます。’Apply’ ボタンを押して適用し、OK ボタンを押します。

エラー:
The type R is already defined             R.java

上のエラーは ファイル R.java が重複して存在するためです。Project Explorer 上の OpenGL で ファイル ‘gen/org.example.opengl/R.java‘ を確認した後、ファイル src/org.example.opengl/R.java を右クリックして Delete を選び、削除してください。

警告:
WARNING: Application does not specify an API level requirement !

と警告が出るので ‘AndroidManifest.xml‘ に設定を追加する必要があります。

Android 1.5 Version Notes | Android Developers
http://developer.android.com/sdk/android-1.5.html

を参考に Project Exploer 上で ファイル ‘AndroidManifest.xml‘ をダブルクリックし、表示されたソースの右下部分 ‘AndroidManifest.xml‘ タブをマウスで選択し ‘Sdk version’ を次のように指定します。


...

...

Eclipse のメニュー ‘File/Save’ を選択し、ファイル ‘AndroidManifest.xml‘ を保存してください。後は、プロジェクト名 OpenGL を右クリック、メニュー ‘Run As/Android Application’ を選択すれば動作を確認できます。

Linux デスクトップ上の操作を録画できる動画キャプチャーソフト ‘XVidCap Screen Capture’ 、Mac の動画変換ソフト ‘携帯動画変換ちゃん’、’iMovie‘ を使ってデスクトップを録画、編集し、YouTube に投稿してみました。添付しておきます。

Hello, Android: Introducing Google's Mobile Development Platform

前回 [ [id:KYoshiaki:20090329] ] 書いたように、あいかわらず iPhone SDK 3.0 は、インストールしていません。しかし、資料はコツコツ読んでいます。NDAのため詳細について残念ながら触れることはできませんが!

ところで、前回 [ [id:KYoshiaki:20090329] ] Mac OS X 上の VMware FusionUbuntu ja-8.10 仮想マシンを使い、Android SDK を試した実行画面を載せましたが

Android 1.5 Early Look SDK | Android Developers
http://developer.android.com/sdk/preview/

が公開されていたので、試してみました。上の説明通り実行すれば、何の問題もなく動作します。注意するところといえば、Android エミュレーターを実行するには Android Virtual Device (AVD) を作成する必要があることぐらいです。上記に書かれている通り、コマンドラインを実行し、eclipse の設定をするだけです。

本格的に取り組むつもりはないと書きましたが、試しに

を購入してみました。

この書籍で知ったのですが、Android エミュレータの画面を実行中に横向きに変更するには CTRL + F11 キーを押せばよいようです。ただし、私の iMac では ‘F11’ キーは音量の調整に利用されています。そこで ‘/アプリケーション/システム環境設定.app’ の

キーボードとマウス/キーボード
'F1、F2 などのすべてのキーを標準のファンクションキーとして使用'

にチェックを入れる必要がありました。

一通り読み終えました。一番の利点はプログラミングを通して Android の仕組みや端末の作法を学べることです。実際、iPhone の場合、テーブルの行の並び替えや削除の方法はプログラミングを通して学びました。

上の書籍のサンプル ‘数独‘ を作りながら Android 端末の ‘Menu’ キーや ‘Back’ キーをどういうところで利用するのか理解できました。

インターフェイス、リソースの作成には XML 形式のファイルを利用します。ほとんど経験がありませんが、どちらかというと Windows Vista 上の XAML プログラミング (WPFアプリケーション) に似ていると思います。

iPhoneフレームワークなどは多少違いますが、構造としては Mac 上のデスクトップアプリケーションとそんなに変わりがないと思います。

Android は、プロセスとアプリケーションが同一ではありません。(まだ、深く理解していないので間違っているかもしれません。) アプリケーションを起動すると前面にアプリケーションの画面 (activity) が作成されます。アプリケーションは複数の画面 (activity) を持つことができます。 ユーザーが他のアプリケーションを呼ぶ度に画面 (activity) が作成され system’s activity manager が application stack に追加し、管理します。また、’Back’ ボタンを押すことで前の Activity に戻ることができます。また必要なくなった Activity は system’s activity manager が削除します。

Activity、Intent、Service、Content Provider など説明だけだと理解しにくいと思いますが、

で実際サンプル ‘数独‘ を作成してみると理解しやすいと思います。

また、iPhone シミュレーターは初期の頃 OpenGL には対応していませんでした。Android エミュレータの場合は問題ないようです。

試しに

のサンプル OpenGLMac OS X 上の VMware FusionUbuntu ja-8.10 仮想マシンを使い、実行した画面をで付けておきます。(VMware Fusion の’仮想マシンのハードウェア設定’/ディスプレイ/3Dグラフィックの高速化にチェックは必要ないようです。)