2011年2月17日木曜日

Androidアプリ開発日記 6

Android開発環境を構築するだけ構築して、GALAXY Sを手にする前からした途端、何も着手しなくなったダメ人間こと伊藤。

キーボード入力と手書きが両方できるメモ帳があったら便利だなーと思ってるのですが、「それならGraffiti入れれば良いじゃん」と言われそうで怖いです。
いや、Graffitiはあくまで入力方式ですからね。
私が想像しているのは、ラクガキ帳みたいな感じですね。

それに、日本語対応しているからといっても、これは中々クセものです。
そもそもPDAを使ったことがないので、Graffitiにはあまり慣れていません。


ところで、GALAXY S/TabはAndroid 2.2を採用しており、auのIS03は2.1、Xperia arcは2.3、その他のAndroidスマートフォンやタブレットも、現状では2.1~2.3辺りが採用されています。
もうすでに周知の事実ですが、GoogleはAndroid 2.xはタブレット向けに最適化されていないので、3.0を待ってくれと言ってるんですよね。
噂では、スマートフォン向けは2.xシリーズで進めており、現在の最新は2.3ですが、次世代は2.4になる予定のようです。
つまり、スマートフォンとタブレットでOSのバージョンを細分化する、と。

ここで思い出されるのは、Chrome OSの存在ですね。
Chrome OSはネットブック向けOSということで開発が進められていますが、スマートフォンやタブレット(スレートPC)が台頭してきた今、ネットブックの存在価値はあまりありません。
もちろん、スマートフォンやタブレットでできない処理(アプリケーション)を動かすために必要…という状況はありますが、ネットブックはその名の通りネットにつなげたりメールをしたり…と、大した処理能力を必要としない作業向けのPCです。
であれば、必要とされなくなってくるのも必然です。
管理業務系アプリケーションはWindows OS等でないと動かない…ということもあると思いますが、Androidでリモートデスクトップができますしね…。

というわけで、Chrome OSもそのうちAndroidに統合される…特に、3.x(タブレット向け)に組み込まれていくのではないかと考えております。
Android自体も、そのうちスマートフォンとタブレット両方に最適化されたOSになっていくと思いますが。
Windowsではないのですから、OSが細分化して進化してしまうと、互換の問題が発生してきそうです。
オープソースなのに、それはないでしょう。


Android 3.0はすでにスクリーンショットが公開され、このOSを搭載して発売する予定のタブレットもいくつか発表されております(LG G-SlateMotorola XOOMなど)。
現段階ではAndroid 3.0のSDKはプレビュー版となっており、APIは最新ではなく、変更が加えられる可能性があります。
また、このプレビュー版SDKでビルドしたアプリケーションは公開できません。
あくまで、エミュレータ上で実行することができるだけ、ということです。
加えて、現在のドキュメントにはAndroid 3.0向けのガイドは含まれていないので、APIのリファレンス等は、プレビュー版のドキュメントを参照してください、とのことです。
ちょっと大ざっぱすぎる意訳ですが;
詳細はコチラ(Be aware that:)

というわけで、環境構築以後手をつけていないWindowsにひとまず3.0(Honeycomb)のプレビュー版SDKをインストールしてみました。
前回ほどしっかりした説明ではありませんが、ご参考にされる方は以下をご覧ください。

※すでにAndroidの以前のバージョンがインストールされている前提です。
 以前のバージョンをインストールしていない場合は、前回の内容を元に、Android SDKだけ現在の最新版(android-sdk_r09-windows.zip)をお使いください。
 Googleのレコメンドはinstaller_r09-windows.exeですが、実行ファイルだとどこに何を展開されるのかわからないので、前回の環境構築との互換性を保つため、ここでは圧縮ファイルを使用します。



  • Android SDKアップデート
http://developer.android.com/sdk/index.html
JDK(Java SE Development Kit)とEclipse(Pleiades)はすでにインストールされているので、すっ飛ばします。
JDKはアップデートしておいた方が良さそうなので、アップデートしましょう。

執筆当時(2011/2/17)の最新版は、先ほどご紹介したように「android-sdk_r09-windows.zip」です。
これもダウンロードして解凍し、C:\直下にある android-sdk-windows フォルダにファイルをコピーします(一部は上書きします)。
android-sdk-windows フォルダの中にあるファイルを削除してしまった方が良いのかもと思いつつ、ひとまず残す方で…。
こういうのに迷った場合、フォルダ名を変えて残しておくのが得策ですね。
今更になって気づきました。


  • ADT(Android Development Tools)プラグインアップデート
Eclipseを起動し、「ヘルプ」→「新規ソフトウェアのインストール」を選択し、「作業対象」から「ADT」というリポジトリを選択して(「ADT」というリポジトリ名は、前回「https://dl-ssl.google.com/android/eclipse/」に対して付けたものですので、別名を付けた方は、そのリポジトリ名です)、「開発ツール」にチェックを入れ、「次へ」。
使用条件のテキストを表示させた上で、条項に同意して「完了」。
※テキストを表示しないと、条項に同意して「完了」しても、インストールされません。
※インストール時に何かメッセージが出てきたら、とりあえず「OK」にしますw

Eclipseの再起動を促されるので、流れに身を任せます。

Eclipseが再起動したら、「ウィンドウ」→「設定」→「Android」を選択し、SDKロケーションにAndroid SDKのディレクトリ(今回の場合、C:\android-sdk-windows)を設定します。
※何かメッセージが出てきたら、とりあえず「続行」「OK」にしますw


  • AVDs(Android Virtual Devices)の作成
Eclipseの「ウィンドウ」→「Android SDK および AVD マネージャー」を選択します。

私の環境では、なぜか「Android SDK および AVD マネージャー」のウインドウが立ち上がらなかったので、とりあえず今回はエミュレータの起動までを確認、ということで、C:\android-sdk-windows内のSDK Manager.exeを直接叩くことにしました。
※まさか、Eclipseが日本語化されている(Pleiadesがインストールされている)から…?
 一瞬気づかなかったのですが、これを執筆していて、AVD Managerが英語表記になっていたので、もしかして…と。
 まれにこういうことはありますので、Eclipseは英語環境のままの方が確実かもしれませんね。

左側の「Available Packages」を開いて、既に登録されているリポジトリにチェックを入れて、パッケージをインストールします。


左側の「Virtual devices」を開いて、「New」ボタンで適当なAVDを作成します。
とりあえず、Nameは「sdk3.0_test」とし、Targetは「Android Honeycomb(Preview) - API Level Honeycomb」を選択し、SD Cardのサイズは「16MiB」、SkinのBuilt-inは「WXGA」(デフォルト)にしておきます。
あと、Hardwareの「New」ボタンで、適当なデバイスを追加しておきます。
ハードウェアエミュレーションオプションについては下記参照。
http://www.techdoctranslator.com/android/developing/tools/avd

最後に「Create AVD」ボタンをクリックして作成完了!


もうEclips上でやっていませんので、AVD Managerから直接エミュレータを立ち上げてしまいます。
もはや、サンプルプログラムなどどうでも良い。
エミュレータを立ち上げることこそが至上の命題である!

…何にも難しいことはないんですけどね。
と言いますか、何のためのエミュレータだ…;
いけませんね、目的と手段が入れ替わってしまうのは。

というわけで、「Virtual devices」の右側にある「Start...」ボタンでAVDを起動します。


起動しましたー。
起動中です。

待機画面です。
左が英語、右が日本語。

上の画面の鍵をタッチすると、波紋が広がります。
この鍵を画面外にドラッグすると、ホーム画面に移行します。
左が英語、右が日本語。

ホーム画面です。
例によって、左が英語、右が日本語。

エミュレータにプリインストールアプリ一覧です。
例によって、左が英語、右が日本語。

右下の時計をクリックしたら出てきた画面です。
スライドするような形で出現したのですが、描画が一部ズレてますね…これは直らなかったです。
例によって(以下略)

上の画面の右下の参画をタッチしたら出てきた画面です。
これもスライドするような形で出てきたのですが、やはり一部描画がズレてますね;
例によって(略

設定画面です。
デフォルトは英語ですが、言語で日本語が選択できたのでやってみました(今までの日本語画面は、ここで日本語に設定した後です)。
GALAXY Sを使っているおかげで、Androidの基本的な使い方がわかりますねw

検索欄で文字入力してみたら、デフォルトが中国語キーボードになってましたwww
"google"と入力したのに、左のような画面に…。
右下にキーボード選択アイコンが出たので、US(この時は英語設定にしてました)キーボードに変更したら、右の画面のように普通に入力されました。

言語を日本語にすると、検索候補蘭も日本語に対応します(左画面)。
キーボードを日本語にすると、日本語入力も対応します(右画面)。
日本語キーボードだと、変換候補も出ますし、左下の下向きアイコンで変換候補を隠すこともできます。

これは注目機能。

Android 2.xでも、アプリの画面を閉じてもバックグラウンドで動いています。
ただ、その画面をまた出したい時、もう一回アプリケーションのアイコンをタッチしなきゃなんですよね。
Android 3.0では、左下にあるウィンドウが重なったようなアイコンをタッチすると、現在動いているアプリが表示され、それをタッチすればその画面がまた復帰します。
確認はできませんでしたが、恐らくブラウザのようなマルチウィンドウ(タブ型)対応のアプリは、そのウィンドウごとに表示されると思います(枠が大きいですからね)。

ネットにもつなげられましたー。
ただ、Flashをインストールできなかったので、弊社のサイトは完全には表示できませんでした…残念。

というより、どうにもブラウザが不安定のようで、ページを見ようとしたり、タブを増やそうとしたり…ブラウザで何かしようとすると、とにかくエラーが発生します。
例にy(ry
最後に端末情報を。
モデル番号はsdk、AndroidのバージョンはHoneycombになっています。
Linuxカーネルは2. …文字化けしてるのか、読めません。
6でも5でも8でもないような…?
タブレット向けOSとは言っても、電話の機能は削っていないようですね。
今までのAndroidエミュレータでは、デフォルトで無線(3G回線)が使えなかったような気がしましたが、Honeycomb SDKでは、どう仮想デバイスが機能しているのかよくわかりませんが、特になにもせずネットにつながったので、驚きました。
Wi-Fiは動きませんでした(ネットワークの追加が動かず)。




気づいている方もいらっしゃると思いますが、上の画像は、最初の2枚を除いて、見やすくするために全部左回転加工を施しています。
設定上は自動回転ONになっているのに、横向きになっちゃうんですよね。
ただ、Androidが起動し、待機画面に移行した一瞬だけは、向きが正常なのです。
その後、画面が緑になって、画面が戻ると、勝手に横向きに回転してしまうという;
エミュレータに画面重量(?)検知のデバイスでも加えなきゃなんでしょうか…。


というわけで、「開発日記」ではありませんが、ご容赦をw

0 件のコメント:

コメントを投稿