7月 07
Martin Fowler氏が自身のブログで、Androidについて書いている。
Google I/Oで講演したので、参加者全員に配られたHTC Magicを入手したそうだ。
印象は特に悪くないようだが、不便なところのひとつとして、file:// が使えず、ローカルにあるHTMLファイルを閲覧するのが大変だというところを挙げている。でも、次のようにするとブラウザからSDカード内のローカルコンテンツにアクセスできるらしい(Work-around)。
content://com.android.htmlfileprovider/sdcard/XXXXXX
※ XXXのところはSDカード内のファイルパス
やってみると確かにローカルにあるHTMLファイルやテキストファイル、画像ファイルを開くことができた。ソースコードをみてみると、ブラウザアプリ内にローカルファイル用のContentProviderを用意していた。なるほどね。




Tagged with: Android
7月 02
Eclipse Galileo(Eclipse 3.5)がリリースされました。このリリースからCocoaを正式サポートです。
早速ダウンロードして使ってみました。確かに全体的にちょっと軽くなった感じ。
Androidの開発に使えるよう、ADTプラグインをインストールしてみました。
「Help > Install New Software…」を開いて、
https://dl-ssl.google.com/android/eclipse/
を追加して、インストールすればOK。
とりあえずエミュレータを起動してみると問題なく動きました。

Tagged with: Android • Eclipse
6月 26
Android 1.5 NDK, Release 1が公開されました。(ダウンロードはこちら)
これまでも自力でCやC++のライブラリを組み込むことはできましたが、これを使うと手間が減りそうです。過去の資産を活用しやすくなるので、アプリの幅も広がるかな。
Tagged with: Android
6月 01
Android Developer Challenge 2の開催が発表されましたね。(公式サイト)
詳細スケジュールはこれからということですが、8月初めに提出開始のようです。開発にかけられるのは2か月ぐらいですね。今回はすでに端末が出てることもあり、応募数は激増しそう。ドコモのHT-03Aが6月か7月発売ということなので、日本からの参加者も増えるでしょうね。
日本語のAndroid関連本も増えてきました。『初めてのAndroid』を読みましたが、Androidの導入本として、とてもわかりやすい本でした。もうすぐ『Google Androidアプリケーション開発入門』という本も出るようです。こちらはAndroid 1.5対応ということで、なかなか良さそうです。
(Androidはアップデートが早いので出版社泣かせですね)
アプリにはある程度の完成度は必要でしょうが、コンテストなので斬新なアイデアが求められそう。賞金も結構な額なので、我こそはという人は応募してみてはいかがでしょうか。(私もいいアイデアが思いついたら応募しようと思っているのですが…)


Tagged with: Android
5月 08
PCにUbuntuをインストールしようと思ったのですが、わざわざインストールCDを焼くのも面倒です。調べてみると、UNetbootinを使えばできそうです。USBメモリには、余ったmicroSDをMicroSD / microSDHC 用 カードリーダーでUSBメモリ化したものを使いました。
以下、備忘録。
UNetbootinのダウンロード
UNetbootinをダウンロードします。Windows版とLinux版があります。今回はWindows版を使いました。
ISOイメージのダウンロード
インストールしたいISOイメージをダウンロードします。今回はUbuntu 9.04 Desktop 日本語 Remix CDを使いました。
USBメモリに入れる
UNetbootinを起動します。画面が表示されたら、
- 「Diskimage」を選択して、「ISO」を選んで、ダウンロードしたISOファイルを選択する
- Type: を「USB Drive」にして、USBメモリのドライブレターを指定する
- OK!
USBメモリへの書き込みが終了すると、リブートするかどうか聞かれますが、今回は他のマシンにインストールするのでそのまま「Exit」します。
インストール
このUSBメモリを使ってインストールします。USBメモリからブートするために、BIOSの設定が必要になるかもしれません。
設定はPCによって違いますが、今回使ったPCの場合は、起動時にF12でBIOSのブート設定を呼び出してUSB Driveを選ぶとUSBメモリからブートしてくれました。
選択画面で「Default」を選ぶと、Ubuntuが立ち上がります。デスクトップ上にある「インストール」をクリックすると、PCにインストールしてくれます。
今回、USBメモリからインストールしてみましたが、CD-ROMを使うよりも随分インストールが速くなったように感じました。USBメモリも安価になってきましたし、microSDなどを再利用することができるので、手元に大容量のUSBメモリ/microSDなどがある方には非常におすすめです。
CD-ROMを焼かなくていいのでちょっとだけエコな気分にもなれます。

Tagged with: Ubuntu • UNetbootin
5月 03

Android 1.5がリリースされました。開発者ブログにもいろいろと情報が出てきています。Backward compatibility for Android applications という、アプリ開発における後方互換性に関する記事がありました。
以下、メモとしてざっくり抄訳しておきます。
Continue reading »
Tagged with: Android
5月 01

不調のMacBook Proは修理に出すことになりました。その間はVAIOのWindowsマシンがメインマシンになります。
修理に出すためにバックアップをとろうと、はじめてTime Machineを使ってみました。
使っていない外付けHDDがあったので、これを利用したいのですが、どうやら、Windows用に使っていたHDDだと、10GB以上バックアップがとれないという問題があるそうです。MBRを使っているとダメらしいです。そのためいくつか準備しなければならないことがあります。
アプリケーション>ユーティリティ>ディスクユーティリティ を起動します。
やったことは、
Tagged with: Mac
4月 28
Google CodeはMercurialを採用、Gitは見送り
GoogleにはPythonの作者Guido van Rossumがいるところも微妙に影響しているのかな。MercurialとGitを比べてみると、個人的にはMercurialの方がとっつきやすかったです。
結局今は、多人数でやるときにはGit、個人でやるときにはMercurialという感じでいます。
Tagged with: Mercurial
4月 27

1.5に向けて、Android Developers Blogの更新頻度が高くなってきましたね。こういう情報はどんどん発信していってほしいです。
“Future-Proofing Your Apps” という記事で、Androidのバージョンが上がってもアプリがちゃんと動くようにするための「アンチパターン」(やってはいけないこと)が紹介されています。自分用メモ。
#1 内部APIを使う
サポートされていない内部APIを使うと、将来動く保証はない。
1.0,1.1には明るさ制御やBluetooth機能のON/OFFが許可なしに使えるというバグがあったが1.5で修正された。この結果、この内部APIを使っているアプリは動かなくなった。
人気の懐中電灯アプリ(たしかに私のiPhoneにも1つ入れている)のため、WindowManager.LayoutParamsにscreenBrightnessフィールドが追加された。
#2 Settingsを直接いじる
悪意をもってシステム設定を変えるようなアプリがあったので、1.5からはユーザに影響を与えるようなシステム設定(GPSのON/OFFやローミング設定など)が直接いじれなくなった。
その代わりに、設定画面を呼び出すIntentを発行して、ユーザに自分で変更させましょう、とのこと。android.provider.Settings.Secure を参照。
#3 レイアウトを複雑にしすぎる
ビュー階層が深さ10以上もしくは幅合計30以上になっているとクラッシュするようになった。これで過度に複雑なレイアウトになっていることがわかる。
FrameLayoutやTableLayoutといった高度なレイアウトを使って、ビュー階層を簡単化するよう意識すること。
#4 まずいハードウェア想定をする
1.5ではソフトキーボードが追加されたので、今後は物理的なキーボードのないデバイスも増えてくる。どちらでも動くように考慮する必要がある。
#5 無謀なローテーションをする
1.5以降は自動でローテーションするようになったので、自分でローテーションしていると予期せぬ挙動になるかもしれない。
加速度センサを使っているアプリは、画面の向きを固定しないと、シェイク動作で画面の向きがばたばたと切り替わってユーザをイライラさせるかも。
AndroidManifest.xmlのandroid:screenOrientationに、portraitかlandscapeを指定することで、画面の向きを固定することが可能。
Tagged with: Android
4月 24
現在利用しているCORESERVERではPHPがセーフモードで動いています。そのため、プラグインの自動アップグレードといった便利な機能が使えませんでした。
しばらく手作業でやっていたのですが面倒になってきたので、一部をCGIモードにすることにしました。
手順
wp-admin/.htaccessというファイルを作成して、以下を書いておく。
<Files ~ "^(async-upload|update-core|update|plugins|plugin-install)\.php$">
AddHandler application/x-httpd-phpcgi .php
</Files>
これだけでOK。
試しにいくつかアップグレードしたところ、問題なく動きました。簡単!
もっと早くやっておけばよかったです。
参考にしたページ
WordPress カスタマイズ


Tagged with: WordPress