2012年1月31日火曜日

AndroidManifest.xml file missing!

これまでAndroidアプリの開発でも Emacs + ant を使っていたのですが、今年はいろいろ新しいことも始めるゾ!という意気込みでどうもみんなが使ってるらしい Eclipse + ADT を使いはじめました。宣言

旧来Emacs + ant でビルドしていたプロジェクトディレクトリを丸ごとそのまま Eclipse にインポートしようとしたら AndroidManifest.xml file missing! と言われてしまって完了できなかったので対策メモ。

2012年1月29日日曜日

TextViewのワードラップ

AndroidのTextViewは、英単語が途中で改行されてしまわないようにワードラップ処理をしてくれます。
日本語の禁則処理もしてくれているようなのですが、どうにも不自然で納得できません。(句読点の直後に改行が入らず次の1文字も巻き込んで計算されるなど)

ソースを追うと、TextViewのプライベートメンバ mLayout で保持される StaticLayout がワードラップ処理をしているようです。(setText()に Spannable を渡すと mLayout自体は DynamicLayout になりますが、DynamicLayout が内部で StaticLayout を作ります)
うまいことワードラップする Layoutクラスを作ってリフレクションで mLayout に設定する方法もあると思うのですが、StaticLayoutはそこそこボリュームがあって手を出すのは心が折れるので、InputFilter を使う方法でワードラップ処理を改造してみました。

2012年1月23日月曜日

リバースプロキシとSubversion

Apacheのリバースプロキシ越しにSubversionサーバを立てていたら svn mv や svn cp (それをバックグラウンドで行う svn merge も)ができなくてハマったので解決策のメモ。

2012年1月18日水曜日

ChromeでWebGL

WebGLの仕様上のセキュリティ問題の対策のためと思われるのですが、現在の Chrome(Chrome 16)では WebGL がデフォルトで無効になっているようです。(ソースは見つけられませんでした…手元にある2台の(世代の違う)iMacでどちらもデフォルト無効だったのでそう判断しています)

せっかくChromeウェブストアにおもしろそうなゲームがあっても、WebGLデモサイトにステキなサンプルがあっても、そのままでは表示することができません。

2012年1月10日火曜日

復活の呪文2

Android Marketの人気アプリ 復活の呪文2 の呪文生成アルゴリズムを解析しました!

2012年1月8日日曜日

ハイライト表示

SyntaxHighlighter を使ってBlogger(blogspot.com)でハイライト表示をするための設定メモ。

Django

Python製WebフレームワークDjango。楽しいです。楽しいというか楽チン。
0.96の頃に作ったサイトの保守とかしていてなかなか最新版を追従できていないですが、それでも新しく始めるときはなるべく最新のDjangoを使いたいもの。

そこでDjangoをシステムにインストールしてしまわず、プロジェクトの中に内包することで、1つのシステム(1台のサーバ)上に複数のバージョンのDjango環境を作っています。
ポータビリティが高いので「じゃんごーぽーたびりてぃ」と呼んでいました(^^ゞ
(番号ポータビリティが話題になっていた頃だったので…)