iOS/Androidのサークルビューライブラリ作った

iOSおよびAndroidで縦方向にくるくる回転させるTableView/ListViewを作ったのでGitHubに公開しました。

iOS版はCocoaPodsを使っている場合PodfileではGit経由でインストールできます。

Podfile
pod 'WZCircularTableView', :git => 'https://github.com/makotokw/CocoaWZCircularTableView.git'

Android版は自前のMavenRepositoryを上げるまで整備できていないのでGradleでjarをビルドするなりして使ってください。 

git clone https://github.com/makotokw/AndroidWZCircularListView.git
cd AndroidWZCircularListView.git
./gradlew renamePackageReleaseJar

CircularListView/build/libs にjarファイルができます。

基本的に両方のバージョンは同じアルゴリズム、同じ機能になるようにしてます。

元ネタは UITableView Tricks, UITableView Tricks – Part 2 – Infinite Scrolling でこのアルゴリズムで無限ループや、三角関数で緩やかな円を描いているつもりなんだけどTableView/ListViewのViewサイズによっては円が微妙になるので自動化は若干四苦八苦していて属性のRadiusでベースとなる半径が設定できるのでそれで調整してもらうと良いかもしれない。

Android Studioでも再び悩ませるMac OS X用キーマップ

Eclipse 4.2の重さにうんざりして以来、Sublime Text 2IntelliJ IDEA系IDEに移行したのだがAndroidに関してはEclipseを使っていた。そんな中Google I/OにてAndroidのIDEとしてIntelliJ IDEAベースのAndroid Studioがプレビュー版としてリリースされた。

これでEclipseを完全に使わなくて済むので大歓迎なのだがIntelliJ IDEAのキーマップが何故か英語キーボード配列で割り当てられているという英語圏外のユーザにとっては致命的な不具合があって困る。

デフォルトでMac OS X風キーマッププリセットが用意されているのでこれを使っているのだけど、アクティブなタブをCtrl + Cmd + ]で右に移動しようとすると実際はCtrl + Cmd + [と判定され左のタブに移動して、今度はCtrl + Cmd + ]を実行するとこれはCtrl + Cmd + ¥と判定され、何も起きずに右方向のタブに移動できないという悲しい出来事が起こる。Android Studio Previewでも残念ながら悲しい結果になった。

しょうが無いのでMac OS Xプリセットをコピーして必要なものをアサインし直すという不毛な作業をしている。

電子書籍ビューワーとしてiPad miniとNexus 7を比較してみた

2012/12/07 iCouldバックアップ問題 を追記しました

以前、書いたNexus 7に自炊した書籍を入れて持ち歩くぜのiPad mini版。

iPadで自炊した電子書籍を読む方法

iPadで自炊した電子書籍を見るアプリとしてはiBooksがある。iBooksはストアで購入した電子書籍以外の書籍も管理できるようになっている。iBooksに自炊した電子書籍をインポートするにはまずPC側のiTunesにブックを管理させiPadと同期するという手順を踏む。

参考: iBooks:iBooks および iBookstore に関してよくお問い合わせいただくご質問 (FAQ)

Q. ほかの Web サイトからブックをダウンロードできますか?
A. はい。ePub ファイルおよび PDF ファイルを、Mac または Windows パソコン にダウンロードできます。「ファイル」>「ライブラリに追加」の順に選択するか、ePub ファイルまたは PDF ファイルをコンピュータの「ブック」ライブラリにドラッグして、ファイルを iTunes ライブラリに追加します。これらのブックは、サポートされているフォーマットでデバイスに同期するだけで読むことができます。

やり方は普通の手順なのだが、いくつか音楽ファイルの同期と比べて異なる点があるようなので上げてみる

  • フォルダをiTunesでドラッグしても追加されない(ファイルをドラッグする必要がある)
  • ファイルを追加するときにファイルをコピーする設定になっている場合は~/Music/iTunes/iTunes Music/Books以下にファイルが配置される
  • ファイルのメタデータを変更しても同期されない(PDFで確認。メタデータを更新するためにデバイス側のファイルを削除しないといけない)

ほんの少し不便なのだが慣れてしまえば対策は取ることができる。例えばブックの著者名はiTunesではアーティスト項目の編集で設定できる。iBookから本の著者名で分類することができるのでその機能を使いたい場合は同期する前に著者名を設定しておくと良い。

もともとAndroidの場合はファイルの転送は単にSDカードへストレージとしてコピーするだけで済んだのでiTunes経由で転送するのは面倒だと思っていたのだが、実際のところSDカードへドラッグするかiTunesへドラッグするかという違いでしかなく、iTunesの同期を実行する手間くらいしか増えていないのであまり問題にはならなかった。

ちなみにiTunesにはWiFi経由でiOSと同期する方法があるのだが、電源に接続していないと実行できないようでLightning対応のdockなどが出ていない現状だと充電のためにPCに接続してしまったほうが手っ取り早いため、あまり無線という恩恵を受けられていない。

Apple公式アプリiBooksの安心感

Nesux 7の時はどうやってデバイス上でブックを管理してよいかわからず、ファイルをストレージに置いてAdobe Readerでファイルを開くというなんかローレベルな方法で使っていた。多分もっと便利な使い方やアプリもあると思うのだがそれを探すこと自体が疲れそうなので諦めたところがあった。

それに比べるとiTunesやiBooksというAppleの公式アプリで自炊した電子書籍を管理できるというのはやり方に悩まずに済んでありがたい。Appleのアプリなのでそこそこちゃんとできている。たとえばiTunes/iBooksではPDFの1ページ目を表紙したリストも表示できたり検索もあるので探すのが楽になる。(ということであとでメタデータを付けたくなり、メタデータが同期されない問題が発生するのだが)

ちなみにAndroidでもPlayブックスというGoogle Play ストアで購入した書籍を読むアプリがあるようなのだが使ってみても自炊したファイルを読む方法はよくわからなかった。

Nexus 7との比較は甲乙つけがたい

Nexus 7 iPad mini
解像度 1280 x 800(216 ppi) 1024 x 768(163 ppi)
大きさ 120 x 198.5 x 10.45 134.7 x 200 x 7.2
重さ 340g 308g

輝度

気になるNexus 7との比較。最初Nexus 7のほうが明るさが読みやすく思えたのだがそれは輝度の設定に影響を受けていた。

輝度最高

輝度最低

iPad miniのほうが設定の幅、とくに暗い方に広いようなのだが実用性としてはNexus 7の幅で問題なく明るさについては問題にならなさそうだ。バッテリーの持ちまで検証するのは大変なのでそこはわからないが。

文字の鮮明さ

自炊した電子書籍は画像のようなものと考えるとイメージしやすい。よくiPad miniのディスプレイの大きさがよく取り出されるが解像度自体はNexus 7のほうが高い、つまりピクセル密度が高いので文字はややNexus 7のほうが鮮明に見え、多少の画面の小ささはカバーしているように見える。

ちゃんとした電子書籍の場合(Amazon Kindleの場合)

Android, iOSともにAmazon Kindleアプリがリリースされていて、Kindle端末がなくてもAmazon KindleアプリをインストールすればKindle向けの電子書籍をNexus 7, iPad miniで読むことができる。

さきほど、自炊した電子書籍は画像のようなものと考えたが、Kindle版はちゃんとした電子書籍でフォントの大きさを変更することが可能になっている。つまり画面のサイズや解像度にかかわらず自分に読みやすいフォントサイズを調整すればどちらの端末でも快適に読むことができるのであった。

まとめ

現状の使い方として自炊した書籍とKindle版の書籍を読む場合にiPad miniとNexus 7には大きな差は見つからず、輝度やフォントのサイズなど自分なりに調整すればどちらを使ってもそれなりに問題ないように思える。Nexus 7は画面が小さすぎるという人がiPad miniを使っても大きな改善を体感することはできないと思う、大きい画面を望む人はおとなしく10-inchのタブレットを使った方がいいだろう。

こうなってくると、どちらを使うかはもう好みの問題になってくる。強いてiPad miniのメリットを上げるならiBooksというApple公式ソフトで書籍が管理できるという点だ。AndroidでもできるアプリはあるだろうがiBooksは公式なので迷わないし、ウェブからの情報も見つけやすいだろう。

自分の場合、iPad miniがレギュラー化し、Nexus 7はまったく使わなくなってしまったがそれはiOSに慣れているからという点と、デザインが素晴らしい(薄いって素晴らしい)ことによる持っていることの優越感という部分が大きい。これはもう完全に主観である。

しかし、そもそもNexusシリーズはAndroid OSのパイロット製品という側面によりデザインやデバイスの使い勝手を追求できていないと予想する。そういう意味ではGoogleではなくソニーあたりが本気を出して世界最軽量、最大電池持ち時間の7-inch Xperia Tabletを出してくると比較の面では面白いと思う。

iCouldバックアップ問題

iCouldで容量が足りなくてバックアップができないという問題が発生した。どうやらiBooksに転送したPDFがそのままiCloudへバックアップされているらしい。圧縮はしてくれるだろうがiBooksのデータだけですでに5GBを超えていた。

設定アプリ > iCould > ストレージとバックアップ > ストレージを管理 > (自分のiPadの名前)

よりバックアップオプションを見て、iBooksの選択をオフにしておく。自炊したPDFは自分でバックアップをとっておこう。

Nexus 7に自炊した書籍を入れて持ち歩くぜ

iPadにしろXperia Tabletにしろやっぱりデカイし重い。単体で持ち歩くなら問題ないんだけどノートPCとあわせて持つかというとそういう気にはならない。かといってKindleのような専用端末を持つ気もしない。そんな中、7インチTabletに目をつけ価格も手頃なNexus 7を購入することにした。

DODOCASEに入れて持ち歩く嬉しさ

iPadのケースとして愛用していたDODOCASEだけどNexus 7のケースもあったので早速購入。2週間くらいで届く。

A4のノートと比べてもこの小ささ。なんというか、昔iPodに全ての音楽CDを入れて持ち歩けるようになった時と似たような感動を覚える。まぁやっていることはリッピングと転送で同じだけれども。

結局Root Explorer + Adobe Reader

Nexus 7を買うとPlay Storeで使える2000円分のキャッシュバックキャンペーンがあってこれで自炊したPDFの管理と閲覧アプリを探そうと意気込んでみたものの、もともとPCで閲覧するようにファイル名やフォルダ階層を整理していたこともあり、以前に購入していた Root Explorer と、Adobe Reader というPCさながらの運用にした。なんか下手な管理アプリを使うよりもこっちの方がシンプルな気がしたので。

イマイチ新しいようで古い使い方をしているような気がしないでもないが。

7インチの使用感

7インチなので読めるか心配だったんだけど、技術書に関してはそれほど小さい字で詰めている書籍は少ないので読めてはいる。もともと高品質モードでスキャンしておらずソースのPDFの画質がさほどよくないということも合わせて、実用最低レベルという感じ。人や本によっては読みにくいと思うかもしれない。ディスプレイも大事だが書籍ファイル自体の品質も重要になってくるので自炊書籍の限界はこのあたりなのだろうか。

今後は

喜んでいるうちにiPad miniが発表されるかも?みたいな噂があって悩むところ。ただ自炊した書籍の閲覧目的に関してはiOSだとiTunesからGoodReaderのようなアプリにファイルを突っ込んだりしないといけなくてAndroidよりは面倒になるような予感はしている。(Androidは単にストレージにファイルコピーすればアプリから参照できるがiOSアプリはアプリ外にあるファイルシステムの参照が苦手)

その後、心変わりしてiPad miniに置き換えたエントリーはこちら: 電子書籍ビューワーとしてiPad miniとNexus 7を比較してみた

Amazon(co.jp)が過去に購入した本もすべてKindleで読めるようにしてくれて、専用端末だとうれしいことがいっぱいあるならKindleにするという手もあるけどそうなるには時間がかかるだろうから当分はこのNexus 7を使ってAndroidのkindleアプリなどでお茶を濁すことになるんじゃないかと思っている。

本棚にあふれた本を捨てる代わりに自炊するという運用をしているのだけど、いつでも持ち歩けるということからこれから読む大事な本も自炊したくなってきている。自炊が面倒なので(というか自炊している時間で速読できるだろうに)Googleブックスを真面目に使ってみようかと思ったが、書籍の少なさに愕然とした。まだまだ日本における電子書籍の世界への道のりは長そうだ。どうしてこうなった。

ジャンプとか電子版があったら月1000円でも嬉しいんだけどな。

Nexus One GRK39F をroot化

Nexus Oneを間違えてOTAでGRK39Fにあげてしまったら当然の如くrootになる力を剥奪された。毎回root化の方法が記憶喪失になるので備忘録。というかこれを機会にCyanogenModにあげた方がいい気もしたのでROM Manager任せのRoot化。

マーケットからROM Managerをインストール。
SuとかClockworkMod RecoveryとかCyanogenModとかをROMにダウンロードしておく。
(rootになれないのでROM Managerでできることはダウンロードくらい。。。)

fastbookがAndroid SDKに見当たらなかったのでhttp://code.google.com/p/lg-v909/wiki/Rootingからダウンロード。platform-toolsに配置。

PCから以下を実行。

adb pull /sdcard/clockworkmod/download/download.clockworkmod.com/recoveries/recovery-clockwork-3.0.0.5-passion.img
adb reboot bootloader
fastboot boot recovery-clockwork-3.0.0.5-passion.img

ClockworkMod Recoveryが起動したらSuを入れる。
install zip from sdcard -> choose zip from sdcard -> su-2.3.6.1-ef-signed.zip -> yes
(sdcardにあったやつをそのまま使ってしまった)

あとはAndroidをリブートしてROM ManagerからカスタムROMをインストール。

Xperia X10 mini proにRemi-X10を入れてみる

MiniCM7をうまく入れれなかったので、GingerbreadはMangoを待つとして、Remi-X10というカスタムROMを入れてみた。

DSC00363

MiniCM7で失敗したのでリカバリした素の2.1.1.A.0.6からの手順。

1) ネットワークの設定をする

WIFIの設定をする

2) USBデバッグをONにする

Settings > Applications > Development
USB debugging > ON

3) root 化

2.1.1.A.0.6 firmware では SuperOneClickをいれるとよい。
http://forum.xda-developers.com/showthread.php?t=950324

  1. PCに接続して端末で充電を選択
  2. PCからSuperOneClickを起動してRootを実行
  3. 待つ
  4. デバイスを再起動したら完了

4) busyboxのインストール

Marketを起動し、busybox Installerをインストール
端末からBusybox Installerを起動し、[Install]ボタンを押す

5) xRecoveryのインストール

xRecovery
http://forum.xda-developers.com/showthread.php?p=13791318
から
xRecovery X10 Mini Pro.zip
をダウンロード

Android SDKをつかってインストールする、zipを解凍後コマンドプロンプトで

cd C:\android-sdk-windows\platform-tools
adb install "C:\Users\makoto_kw\Desktop\xRecovery X10 Mini Pro\xrecovery_signed.apk"

端末側でxRecovery Installerを起動し、[Install xRecovery]を実行

6) カスタムROMを入れる

1. PCからカスタムROMのダウンロード

[ROM] Froyo “Remi-X10 mini pro” porting
http://forum.xda-developers.com/showthread.php?t=1081382から
Remi-X10 mini pro.zip
FiX-Remi-X10.zip
をダウンロードする

[ROM] FROYO “Remi-X10 mini”
http://forum.xda-developers.com/showthread.php?t=1080792から
Remi-X10-Mini.zip
をダウンロードする
RemiOwain-X10-Mimmi.zipという名前だったがそのまま進む。

2. ファイルを端末のSDカードにコピー

Remi-X10 mini pro.zip
FiX-Remi-X10.zip
Remi-X10-Mini.zip(RemiOwain-X10-Mimmi.zip)

3. xRecoveryの起動

端末を終了して、起動してテキストロゴがでてるときにバックボタン連打

4. Wipe Battery Stats

Advanced Options > Wipe Battery Stats > Yes

5. Factory reset

戻って Factory reset > Yes

6. Remi-X10-Mini のインストール

Install Custom zip > Chose custom zip sdcard
Remi-X10-Mini.zip > Yes
(RemiOwain-X10-Mimmi.zip)

7. Remi-X10 mini pro.zip のインストール

Install Custom zip > Chose custom zip sdcard
Remi-X10 mini pro.zip > Yes

8. 再起動

戻ってReboot phoneを選択

9. 初期設定Wizardを設定

10. xRecoveryの起動

#3と同じ

11. FiX-Remi-X10.zip のインストール

Install Custom zip > Chose custom zip sdcard
FiX-Remi-X10.zip > Yes

12. 再起動

何故かDalvik Debug Monitor Serverでスクリーンキャプチャが取れない。。。

赤いXperia neoを購入 + 初期セットアップ

とうとうiOS派の自分も移動用にXperia X10 mini + b-mobileSIM を使い始めていたのだが、AndroidのOSのバージョンを2.3にあげるのが勇気がいるのと、解像度がせまくてちゃんと動作しないアプリがあったりするので開発用にXperia neoを購入した。これを買ったのでiPad2は見送ることに(そもそもiPadで満足しているので)。

DSC00360

もともとちゃんとしたAndroid端末はXperia X10が$300を切ったら買おうと思っていた。その後ソニエリの中の人にXperia arcは良い出来(買い)だよーと勧められてarcかarcoかと考えていたところ、自分の小さい手にはarcはちょっと大きすぎたのでspecはほぼ同じで一回り小さいXperia neoを購入することにした。どうせならXperia arcにない色を手に入れようと重い、赤いカラバリが出るのを待ち構えて1shopmobileから購入。どうやら台湾モデルっぽい。

http://www.1shopmobile.com/catalog.php/1shopmobile.com/ct/pd2141342/Sony_Ericsson_XPERIA_Neo_Red_

とりあえずやったのは

  • bmobile for IDOSの接続設定
  • root化

b-mobileSIM U300の設定

LANで使うとしても一回SIMをさして起動しないと、初期セットアップが完了しない。この状態だと起動するたびにセットアップウィザードがでて言語設定などをしないといけないのでb-mobileSIM U300を挿して設定。

b-mobileSIM U300はプリペイドSIMカードでdocomoの回線を使っているが回線速度が300kbpsに制限される。動画を扱うには厳しいがWebやメール、天気、スケジュール、SNSなど日常的につかうアプリには十分である。

しかしb-mobileSIM U300がうまく認識しなくて接続できなかった。なんか挿したり外したりしているうちに認識したがなんだったんだろう。

b-mobileの設定についてはXperia arcの設定方法がサイトに載っていてXperia neoでもそのまま踏襲できる。playでもおそらく同じだろう。
http://www.bmobile.ne.jp/sim/images/set_xperia_arc.pdf

ROOT化

おとなしくGingerBreakを使った。

GingerBreak APK (root for GingerBread)
http://forum.xda-developers.com/showthread.php?t=1044765

をダウンロードしてインストールする。

cd C:\android-sdk-windows\platform-tools
adb install C:\Users\makoto_kw\Downloads\GingerBreak-v1.20.apk

インストールしたGingerBreakを起動して
Root devicesを実行
数分待つと再起動する、ということだが結構な時間、またされた気がする。

それからマーケットからtitanium backupを入れて、titanium backupからbusyboxをインストール。

あとはtitanium backupでよくわからない中国語のタイトルなどを削除。

やはり最新機種は快適だ。問題はXperia X10 miniの戻るボタンとメニューボタンが逆なので混乱するところだけど、新しいXperia miniが出るまで我慢だ。水色(ターコイズ)の魅力にまけておそらく新しいXperia mini proがメインになる気がしている。

Windowsで環境変数をいじらないでTitanium Mobileを使う

この記事は以下のバージョン時の情報になります。
・Java SE 6 Update 24
・Titanium Developer 1.2.2
・Titanium mobile SDK 1.6
・Android SDK r10
Titanium DeveloperはTitanium Studioに置き換えられました。Titanium Studioに対してはあまり参考にならないエントリーになっています。

デブサミ2011で聞いたTitanium Mobileが面白そうだったことを思いだし試しにいれてみようと思った。

Titanium MobileはjavascriptなどWeb技術でiOS,Androidアプリをつくれるツール。今までそれつかうぐらいならHTML5アプリでいいやんと思っていたがデブサミでjavascriptからネイティブに実装したモジュールと連携できるらしいことを聞いて俺向きのツールと判断している。

とりあえず最初にKitchenSinkというでもアプリを動かすところまで。WindowsなのでiOSアプリはつくれないのでKitchenSinkはAndroidで動かす。

Titanium Mobile
http://www.appcelerator.com/products/titanium-mobile-application-development/

Windows 7向けインストール手順
http://wiki.appcelerator.org/display/guides/Installing+on+Windows+7

↑は0から作る人にはとても丁寧に書いてある一方、すでにAndroid開発環境がある状態ならもっとすっとばしたいし、なによりこんなにPATHとか弄りたくないと思ったので環境変数変えないでいけるところまでやってみる。

今回は以下の状態を想定している

  • Windows 7 x64
  • JDK,JREがインストール済み
  • Android SDKインストール済み(C:\android-sdk-windows)
  • msysgitインストール済み(C:\msysgit)

Install JDK x86

32bit版のJDKの方がいいらしいので64bit版しかいれてなかったら入れる。
http://www.oracle.com/technetwork/java/javase/downloads/index.html<

Eclipseはx64で動かしているし、x86,x64を共存させるのでJAVA_HOMEとか設定したくないという意図もある。

Workaround for a missing adb

Androidのフォルダ構成の変更にTitaniumがついていけてない。

コマンドプロンプトを起動して以下を叩く

cd C:\android-sdk-windows\tools
mklink adb.exe ..\platform-tools\adb.exe
mklink AdbWinApi.dll ..\platform-tools\AdbWinApi.dll

Titanium Developerのセットアップ

http://www.appcelerator.com/products/download/からダウンロード(ページを開くといきなりダウンロードがはじまる)して、インストール。

Titanium Developerを起動し、いわれるままにサインインする

人のアイコンをクリックして、AndroidSDKのパスを入れたりする。

右上のNew Mobile SDK availableをクリックしたりする。

KitchenSinkプロジェクトをインポートする

msysgitを起動、適当なディレクトリに移動後
git clone git://github.com/appcelerator/titanium_mobile.git

gitがない人はhttps://github.com/appcelerator/titanium_mobileから「Download」ボタンから落としてもいける。

Titanium Developerを起動し、Import Projectで、gitでインストールした場所から
titanium_mobile/demos/KitchenSink
を選択する

AndroidエミュレータでKitchenSinkを起動する

Titanium Developerを終了する。

適当なところにTitanium.cmdというファイルを以下の内容で作成する。

SET JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_24
SET android_sdk=C:\android-sdk-windows
SET PATH=%PATH%;%JAVA_HOME%\bin;%android_sdk%\tools;C:\msysgit\msysgit\bin;C:\Python27\Scripts;
"C:\Program Files (x86)\Titanium Developer\Titanium Developer.exe"

作成したTitanium.cmdを実行。

Titanium Developerが起動したら、PROJECT > KitchenSinkを選択し
Test & Packageのタブから Run Emulator を選択、
SDKでAPIs 2.3とかを選択してLaunchボタンをクリック。

SDKの一覧にAPIsがなかったらAndroidのSDK Managerを起動して
Avaliable packages > Third party Add-ons > Google Inc. add-ons
の下からGoogle APIsを入れておくこと。

Titanium Mobile KitchenSink

なんとか普通に動いた。

手順作成中のトラブル

パスなしで突っ走ったら
[ERROR] Error locating JDK: set $JAVA_HOME or put javac and jarsigner on your $PATH
-> やっぱり、環境変数は要る。

Building KitchenSink for Android ... one moment
から進まない。
-> たぶんpython + SCons が要る(optinalって書いてあるけどTitanium mobileにはmandatoryじゃないのか?)

インストールでこける
[ERROR] Failed installing com.appcelerator.titanium: pkg: /data/local/tmp/app.apk
-> KitchenSinkはGoogle Mapsなどを参照するのでSDKには* APIsを選択しないといけなかった。

おわりに

動いたのは動いたけどまだコード書いてないのでなんともいえない。Titanium Developer はコンパイラっぽいがIDEではなさそう。ソースの閲覧・編集とかはできそうにない。このあたりはデブサミでも言及されていた気がするが、Aptanaを取り込んだらしいのでそのうちIDEとして公開されるのだろうか。Eclipseベースだからプラグインとして公開されると素のAndroidプロジェクトとかと共存できてとっても嬉しいのだけれど。

とりあえず次はNDKと連携したHello, Worldをつくろう。

Android auを買うべきか

iPhoneもXperiaも結局買わずにジョグダイヤル付きの携帯を使い続けて今に至るわけだけど、ついにauからAndriod携帯が発売されることになった。

http://au-is.jp/

とりあえずSharpのIS03が発表されてまたいくつかの機種も後日発表される。

別にauで待ち続けていたわけではないのだけど、結局のところiPhoneやXperiaを買わなかったのはキャリアを乗り換える手間をかけてまで欲しいと思わなかった、自転車移動がメインだしiPod touch, GDD Phone with WIFIで充分という理由。それだけに機種変する手間をかけてまで買うか?と思うとまた微妙になってきた今日この頃。

別にワンセグとかお財布携帯とかなくていいしなぁ・・・できるだけ小さくしてほしい。日本の技術力を見せて欲しい。

今のところの選択肢は
・白iPhone4Gを待つ
・au Androidに機種変
・現状維持
の3つ。

iPod touch 4Gを買ってしまったのと、GDD Phoneの動作にそろそろ耐えられなくなってきたのでau Androidに傾きつつある。ソニエリがWalkman Phone並のサイズでAndroid携帯、そしてジョグダイヤル付きにしてくれたら何も迷うことなくキャリアすら超えていくのだけど。

EclipseのインストールからAndroidでApiDemosを動かすまで。

だいぶ情報が古くなっているのでメモに移動しました

最近ブログをまともに書いていなかったので、久しぶりに少し役に立つエントリを書いてみようと思います。

先日Googleの携帯電話プラットフォーム「Android」のSDKが公開されました。僕はずっと携帯やWalkmanのようなモバイル上で動くアプリケーションを作ってみたいと思っていたので今回のSDKの公開はものすごく歓迎なことです。(iPhone/iPod touchのSDKの公開も待ちどおしい)

まだドキュメントをちゃんと読んでいないのですが、AndroidはJavaで書くようであります。Javaの開発ツールといえばEclipseが有名ですが、Android開発用のプラグインもhttp://code.google.com/android/download.htmlからダウンロードできます。

ここまで準備してくれたGoogle様には素晴らしいの一言に尽きますが・・・ここまでGoogleがやってくれても英語になれない人、Eclipseなんてしらねーという人には敷居が高いんじゃないかなと考えています。実際、僕自身、一年前まではEclipseなんて触ったこともないし、Visual Studioを使ってのWindowsアプリ開発が仕事だったので当時の僕であれば開発を始めるのにも苦労したんじゃないかと思うからです。

今回、AndroidのEclipse Plug-inがEclipse 3.3向けで普段使っていたのがEclipse 3.2だったので、Eclispe 3.3のインストールからやり直すことになったのですが、その際のインストールメモを書きました。そんなわけで、英語に自身のない方、Eclipse使ったことない方向けに、参考になればということでここに公開します。

0) はじめに

今回のメモはWindows限定です。

いろんなファイルはC:\Devに置くことで進めます。

各自の環境に応じて読み替えてください。

1) Android SDKのインストール

まずはSDKのインストール。インストールって言ってもダウンロードして解凍して置くだけです。

http://code.google.com/android/download.htmlからWindows版を落として解凍、以下に配置します。

C:\Dev\SDK\Android\
docs
samples
tools
...

2) Eclipse 3.3のインストール

次にEclipse 3.3をインストールします。日本語化もします。

a) JRE
http://www.java.com/ja/download/
Eclipseなどjavaアプリを動かすために必要です。

b) Eclipse 3.3 (Europa)
http://www.eclipse.org/downloads/からClassicをダウンロードします。+Lhacaだとうまく解凍できなかったので、XPのzip解凍で展開します。

ちなみにEclipseにはインストーラはなく、解凍したフォルダを好きなところにおいて実行できます。

c) 日本語プラグイン(Pleiades)
http://mergedoc.sourceforge.jp/
Eclipse 3.3用の日本語ローカライズは本家からはリリースされていません。(2007/11現在)
Pleiadesにはオールインパッケージもありますが、ここではプラグインだけをhttp://mergedoc.sourceforge.jp/ からDLします。とりあえず現時点で最新のPleiades 1.2.1.p15をDLしました。DLしたら展開して、Eclipseのフォルダに上書きします。

eclipse.iniをeclipse.ini.orgにリネームし、Pleiadesからコピーされたeclipse.ini.sample.3.3をeclipse.iniにリネームします。

Eclipseを起動します。最初はPleiadesからコピーされた

eclipse.exe -clean.cmd

を実行します。このcmdで-cleanオプションでeclipseが実行されます。次回以降は直接eclipse.exeを実行してokです。

Eclipseを起動するとはじめにWorkspaceを選択せよ。と言われます。これはVisual StudioでいうとSolutionに近いもので、複数のプロジェクトをWorkspaceという形でまとめたり、Eclipseの設定もこのWorkspaceごとに保存することができます。EclipseのWorkspaceとは単純にDirectoryです。おそらく、開発プロジェクト単位でWorkspaceを分けるのが良いのではないかと思います。

ここではC:\Dev\Workspaceというフォルダを選択します。(フォルダはなければ自動で作成されます)
ちなみにEclipseの設定などは指定したフォルダ直下に.metadataというフォルダが作成されこの中にファイルとして保存されます。

3) Android Eclipse Plug-inのインストール

EclipseのプラグインはURLを指定するだけでインストールやアップデートできる仕組みがあります。

Eclipseを起動し、ヘルプ -> ソフトウェア更新 ->検索およびインストール -> インストールする新規フィーチャーを検索 -> 次へ (Help -> Software Updates -> Find and Install… -> Search for new features to install -> Next… )、新規リモートサイトボタンを押して下記を入力

Name: Android

これでAndroid Eclipse Plug-inがインストールされます。

再起動を促されたらそれに従います。

4) Android の設定

EclipseにAndroidのSDKのパスを設定します。

ウインドウ(W) -> 設定(P)…
TreeViewからAndroidを選択し、SDK Location: にAndroidのSDKのフォルダC:\Dev\SDK\Android\を指定します。

5) Android ApiDemos プロジェクトの作成

ファイル(F) -> 新規(N) -> プロジェクト(R)…
で新規プロジェクトウインドウを開きます。

新規プロジェクトウインドウからAndroid -> Android Projectを選択して次へ

「ワークスペース内に新規プロジェクトを作成」を選択
「デフォルト・ロケーションの使用」を選択
プロジェクト名:apidemos
パッケージ名:android.apidemos
Activity name:apidemos
アプリケーション名:apidemos

を下記に入れて終了です。

ここで入れる内容はあとでsamplesのファイルで上書きしてしまうのでプロジェクト名以外は適当で良いです。

プロジェクトが作成されたら、Windowsのエクスプローラ上でSDKにあるサンプルのファイルを、プロジェクトのソースに上書きしちゃいます。

具体的には
C:\Dev\SDK\Android\samples\ApiDemosの内容を
C:\Dev\Workspace\apidemosに上書きしてください。

次にEclipseのパッケージエクスプローラ上でapidemosのプロジェクトを右クリックして「更新」を選択します。Eclipse外で更新があったファイル、ディレクトリやファイルの増減がこれで更新されます。

また、src\android.apidemosは不要になったのでEclipseのパッケージエクスプローラから選択して削除します。

Eclipseのパッケージエクスプローラ上でapidemosのプロジェクトを右クリックして、
実行(R) -> Android Application
を実行します。

Android Emulartorが実行され下記画面が表示されたらokです。

android_00.jpg
とりあえず、メモ書きをもとにまとめてみました。ですが、初めてEclipseを使う人にとってはまりそうなところを経験上からくる無意識(当然)の回避によって抜かしているような気もしています。メモにはないけれどはまりそうなところがあればお知らせください。

(2007/12/06追記) 会社でやったら日本語化されなかったorz、eclipse.iniの編集を手順に追加しました。