2009/01/31

今日のお酒: VAL D'OCA Prosecco

VAL D'OCA Prosecco


イタリア産。青いボトルとシンプルなラベルがかっこいい。

心地良い酸味があり、後味の苦みが無いので飲みやすい。色はびっくりするほど薄かったです。飾っておいてもおしゃれかも、とは思いながらも、でも、すぐに飲んじゃうんだろうなー。

2009/01/28

BloggerのExportが途中で切れてしまうときには

BloggerにはExportという機能が用意されています。この機能を使うことで、Blog全体のバックアップを行ったり、他のBlogへ引っ越すことが可能です。

Export方法は簡単で、「設定」から「基本」タブを選び「ブログツール」にある「ブログをエクスポート」をクリックするだけ。

なのですが、なぜか私はBlog全体の途中までしかExport出来ませんでした。ファイルサイズ的には160K程度で、約1ヶ月分で切れてしまいます。

回避方法は、Bloggerの「設定」で「フォーマット」タブを選び「改行の変換」を「いいえ」にすること。これで全体が Export できます。

恐らくBloggerのバグで、何となく釈然とはしませんが、とりあえずの回避方法でした。

2009/01/26

AndroidでIntel系ハードウェアサポート強化

android-platform MLより「New build targets we'd like to add」。

Intelチームからの投稿で「Intel系ハードウェアのサポートを強化する commit を(branchじゃなくて) mainline へ行いたいんだけど」みたいな話です。

おぉ、ドキドキしますね。楽しそうです。

2009/01/25

今日のお酒: VINO SPUMANTE AROMATICO DI QUALITÀ Prosecco

VINO SPUMANTE AROMATICO DI QUALITÀ Prosecco


普通の(?)プロセッコ。適度な酸味。でも、逆に言うと、なんとなく特徴がない感じ!?

コミック版「数学ガール」購入

今更ながらですが、コミック版の「数学ガール」を読みました。

書籍版と同じストーリなのに、漫画になるとドキドキしてしまって、数式どころではなくなってしまう (^^;

ミルカさんもテトラちゃんも可愛いです。はい。



広告
数学ガール 上 (1) (MFコミックス フラッパーシリーズ)
数学ガール
数学ガール/フェルマーの最終定理

自分で build した Android を eclipse から debug する

Andorid を repo sync して、自分で build したコードを Eclipse から取り扱う方法は、「Using Eclipse」として公開されています。大変分かりやすく書かれていて参考になります。

この記事では、emulator 上の debug 方法が載っていますが、例えば、IPネットワークだけでつながっている target を debug するのも同じ要領で行えます。

ADBHOSTシェル変数を指定してddms を起動すれば、Eclipse を使って target の debug が可能です。

% ADBHOST=192.168.1.1 ./ddms

ADBHOST シェル変数を指定した上で adb start-server を実行するのと同じ要領ですね。便利便利。

でも、この投稿を見ていると、将来、消されちゃうのかな?

Javaで StackTrace を Log へ書き込む方法

Android上でJavaコードを追いかけていて、StackTrace を Log クラスへ書き込みたいな、と思いました。

「古のまま止まっている Java の知識によれば、確か printStackTrace() があった筈だから、それを Stream に流して、文字列を作って...」などと考えていたら、J2SE 1.4以降では、Throwable.getStackTrace()という大変メソッドのあることがCodeZineの記事で分かりました。

というわけで、こんな簡単なコードで要求が満たせました(正しくは、getLineNumber() がマイナス値の場合などを考えるべきです)。
Throwable t = new Throwable();
for (StackTraceElement ste: t.getStackTrace()) {
    Log.v(TAG, "at " + ste.getClassName()
        + "." + ste.getMethodName()
        + "(" + ste.getFileName()
        + ":" + ste.getLineNumber()
        + ")");
}
分かりやすい記事を公開してくださっているartonさん、どうもありがとうございました。

donut branch 登場

Androidのソースコード、repo sync したら、cupcake に続いて donut branch が作られていました。おいしそう(でも、カロリー高そう)。

SoftwareKeyboard カーソルが進まない件、直っていました

おぉ、SoftwareKeyboard でキー入力してもカーソルの進まない件、1月20日の commit 7b53e3... で直ってました。

感謝、感謝です。

x86版 Android で SoftKeyboard を表示させる

VMware 上で x86 版の Android で SoftKeyboard を起動すると、例外が発生してしまい、機能しません


logとコードを眺めていたら、現在 android 上で使用しているWindowManager の実装が InputMethod へ対応していないことが分かりました。

VMware 用のバイナリを作る為に、私は手抜きをして、eee_701 用の構成をそのまま使っているのですが、vendor/asus/eee_701/eee_701.mk で明示されている通り、この構成では policy として mid が指定されています。

このため、WindowManager の実装には、frameworks/policies/base/mid/com/android/internal/policy/impl/の MidWiondowManager.java が使われることになるのですが、このコードには、TYPE_INPUT_METHOD タイプ の Window 処理コードが含まれていないため、Permission Denied エラーとなってしまうようです。

phone policy用の WindowManager であるPhoneWindowManager.javaでは、このあたりを処理するコードが追加されているので、コピーしてこようとしたのですが、改変箇所が多く、意外に面倒そう...。というわけで、素直に(?) polocy を phone に切り替えてしまいました(手抜き)。

ただし、SoftKeyboard.java は InputMethodService を継承して作られているもののonEvaluateInputViewShown() と、onEvaluateFullscreenMode() とを overwrite していません。そのため、「ハードウェアキーボードがあり、かつ、現在LandScapeである」と判断されると、SoftwareKeyboard が disable されてしまいます。

そこで、SoftKeyboard.java でこれら関係するメソッドを適当に上書き。

public boolean onEvaluateInputViewShown() {
return true;
}
public boolean onEvaluateFullscreenMode() {
return false;
}
結果、Notepad で SoftwareKeyboard が表示されるようになりました。


とは言うものの、現在の実装上、ソフトウェアキーへフォーカスが当たらないので、実は全く意味はないのですけれど... (^^;。

また、私がdisable 時の対処などをまともに hook していないためなのでしょう、SearchBar でSoftKeyboard を有効にして、そのまま Browser へなだれ込むと、キーボードが出っぱなしになってしまったりもして...(^^;;;。


 うむ、素直に邪魔ですね(Notepadを起動することで復活できます)。

1.5版が正式コードになる日が楽しみです。

2009/01/24

今日のお酒: CASTILLO D MONTBLANC BRUT CAVA

CASTILLO D MONTBLANC BRUT CAVA。


泡立ちきれい。ハチミツ風味は好きだけど、後味が若干苦めかな。ラベルがなんか、かっこいい。

今日のお酒: PAINTER BRIDGE

PAINTER BRIDGE


久しぶりに発砲していないお酒。Californiaのシャルドネ種。名前とラベルが素敵です。

色身が薄くて、フルーティな風味。良い悪いではなく、シャルドネの香りのきつさが無いので、シャルドネが苦手な人でも飲みやすいかも。

「名鉄パノラマカー メモリアルアルバム -ありがとさよなら-」購入

ワンカップP氏の「ありがとさよなら」を、めがてん細江氏がアレンジ、織姫よぞらさんが歌うという、大変豪華なメモリアルアルバム。konozama発動でしたが、ようやく届きました。

よぞらさんの歌声が素敵です。一方、このアレンジで、わPのMEIKO版、というのも是非聞いてみたい気もします。





広告
名鉄パノラマカー メモリアルアルバム~ありがとさよなら~

2009/01/19

「日本アンドロイドの会」勉強会へ参加してきました

日本アンドロイドの会が主催してくださっている1月度勉強会へ参加してきました。

今回は「組み込みWG祭り」ということでしたので、興味を引かれ、初めての参加です。

時間ギリギリで入りましたが、会場は既に多くの人でいっぱい。やはり関心が高いのですね。

USBカメラの接続に関する話、W-SIMを使う話、JNIの話の3本立てで、いずれも実践的な内容であり、大変勉強になりました。

帰りしな、Armadillo上で動作する、cupcake系Androidを見せていただきました。無理なお願いを聞き入れて、わざわざOSを切り替えて下った近藤さん曰く(ありがとうございます)、「ソフトウェアキーボードは動くけど、カーソルの前に文字が挿入されるんだよねぇ」とのこと。おぉ、同じ現象だ (^^;。

発表してくださった、また主催してくださった関係者の方々、どうもありがとうございました。感謝します。

2009/01/18

今日のお酒: David Chatagnay

David Chatagnay。


軽い口当たりで甘過ぎず、酸味が心地良い。食事に合います。気軽な感じ。

2009/01/17

今日のお酒: MARKUS MOLITOR Beerenauslese

MARKUS MOLITOR Beerenauslese。



家内が知人から頂いたもの(というか、奪ってきたもの!?)
Beerenausleseでありながら心地よい酸味が非常においしい。大変良いものをありがとうございました。

今日のお酒: Segura Viudas

Segura Viudas。


またもやCAVA。普通にやや辛め。食事に合わせても良い感じ。CAVAは値段も手頃だし、気軽に飲めるし、楽しいなぁ。

ADP1で最新のandorid master branchを試す

「master brachで dream/ADP1 が動くようになったよ」との投稿を見て、試してみました。なおWi-Fiを動かすにはbuildspec.mkへ追記が必要です。

前回2008/12/30頃に試した限りでは、今ひとつでしたが、はてさて。

2009/1/16位の repo sync で build。書き込みはfastbootモードで。書き込み中、VMwareのトラブルに伴うMacのハングアップで、ADP1との接続が断たれ、あわや文鎮状態になるところでした...。ADP-1は無事Recovery モードで復活したものの、VMware向けx86用のbuild環境が全滅に...。こ、これは、痛すぎる。

閑話休題。

今度は無事Wi-Fiが動くようになりました。アンテナが誇らしげです。


でも残念ながらSleepに入るとうまくWi-Fi接続が復帰しません。惜しい。

カーネルは repo のものをそのまま使いました。ファームウェアとしてのバージョンは、皆さんが公開してくださっているように、1.5になります。


ソフトウェアキーボードも無事起動。


が、キーを入力してもカーソルが進みません (^^; 例えば、android と入力しようと、and まで入力した場合、


という感じになってしまいます。うーむ、これは楽しい...。

SoftKeyboard.java など、最近 cupcake から import されたあたりのコードは、いろいろ遊べそうです。

Developers Summit 2009参加登録開始

Developers summit 2009参加登録が開始されました。

開催日は、2月12日、13日の2日間で、場所は去年同様、目黒雅叙園です。

残念ながら私は別のセッションとの関係で参加できなかったのですが、去年は、Joel Spolskyさんの講演があり、大好評だったと伺っています。

さて今年は、とプログラムを見てみると、Google が OpenSocialHackathonを行うみたいです。私はOpenSocialには馴染みがないのですが、面白そうですね。

時間の都合をつけて、是非今年も参加してみたいと思っています。

2009/01/16

今日のお酒: BLANC d'OR

BLANC d'OR。


ふとした理由から、近くのお店であっさり購入。泡立ち弱めで、甘め。「食事に最適」とうたっていますが、個人的にはタコスに合わせて頂いた方が楽しめました。

2009/01/12

今日のお酒: Roger Goulart Brut CAVA

Roger Goulart Brut CAVA


甘すぎず、炭酸もきつすぎず、スッキリして食事に良く合います。お買い得品。

2009/01/08

VMware Fusion の Android でキー入力

VMware Fusion に Android をインストールしましたがキー入力/マウス入力が上手く行かずに試行錯誤していたところ、再び、「Foolishな日々」のnaka-3 とAndroid Zaurusはてな館のandroidzaurusとのやり取りでPowerManagerService を変更することにより入力が可能になることを知りました。お二人の情報には、本当に助かっています。有り難うございます。

というわけで、早速設定、無事キーボード入力が可能になりました。

GoogleSearch の Suggest も効きますし、


ブラウザも起動します。


おまけで、GlobalTime も綺麗に表示されました。


マウスも無事使えますが、ちょっとセンシティブすぎるの気がしましたので調整が必要ですね。

実は、最初 PowerManagerService の変更をしても上手く動きませんでした。そこでadbコマンドのlogcatを利用。

Target側(今回はVMware)でadbdが動作していれば、ADBHOST シェル変数にターゲットの IPアドレスを設定することにより、adbコマンドで接続することが可能です。これでログを確認してみました。
% ADBHOST=192.168.32.133 ./adb shell
# logcat
...
W/KeyCharacterMap( 4069): Can't open keycharmap file
W/KeyCharacterMap( 4069): Error loading keycharmap file '/system/usr/keychars/AT_Translated_Set_2_keyboard.kcm.bin'. hw.keyboards.0.devname='AT Translated Set 2 keyboard'
なるほど keycharmap が読めていないようです。

もう一度インストールイメージを確認したところ、パーミションが 640、オーナが自分自身のままです。何度か試行している内に、「x86 AndroidのUSBブートイメージを作成」で紹介されていたパーミション変更を忘れてしまっていたようです。お粗末な...。無事パーミションを変更することで、キー入力が可能になりました。

ちなみに adb が使えると、am コマンドと intent の仕組みを利用して、アプリケーション起動などが簡単に行えます。入力デバイスが使えないときには、もっぱらこの方法に頼っていました。例えばブラウザの起動はこんな感じです。
% ADBHOST=192.168.32.133 ./adb shell
# am start -a android.intent.action.MAIN -n com.android.browser/.BrowserActivity
勿論、次のような指定でも起動できます。
# am start -a android.intent.action.VIEW http://www.google.com
どちらも気軽で良いですよね。

何はともあれ、無事、環境が整いました。情報を公開してくださっている皆様、本当に感謝いたします。

ありがとうございました。

2009/01/04

今日のお酒: Otello Nero di Lambrusco

Otello Nero di Lambrusco


色はスミレ色、と書かれていましたが、非常に深く、黒くも見える感じ。微発泡で、適当に飲んでいると気がつかない感じです(適当に飲まないように)。味は甘口で、食後などで飲む感じかなぁ。

2009/01/03

今日のお酒: Cono Sur Brut Bio-Bio Valley

Cono Sur Brut Bio-Bio Valley


新年明けましておめでとうございます。本年もよろしくお願いいたします。

という訳で、新年、親戚の挨拶周りついでに購入してきたスパークリング。チリ産みたいです。珍しいですね。辛口で、スッキリ。