OBONO’s Diary

へっぽこプログラマの戯言

Genesis

昨年に公開したライブ壁紙 "Genesis"。公開当初から、ICS な端末では動作しなさそうだという事が分かっていて、実際、自分の Xperia arc を ICS 化したら、案の定動作してくれなかった。
まぁ、別に良いかな…としばらく放置していたんだけど、世の中的にはそろそろ ICS な端末の方が多数派になりつつあるようなので、"CHRED on Android" の開発が区切りになったので、本腰を入れて調査開始。


このアプリは、「初めてのOpenGL ES」という書籍のサンプルコードがベースになっている。

初めてのOpenGL ES

初めてのOpenGL ES

ただ、自分なりにあれこれ最適化をかけて、OpenGL ES への命令の順番をいろいろ変えてしまっていたりするわけで。ここは初心に帰って、今一度サンプルコードと同じような実装にしてあげたら、ちゃんと描画してくれるようになった。ヤッタネ。


ところが、思わぬところに落とし穴が。設定画面の Activity に遷移するタイミングで謎のエラーが発生してアプリが落ちてしまうのだ。ログを見ても何が何だかサッパリ。これは一体何なんだ?
散々悩んだ挙句、google 先生にあれこれ聞いてみたところ、辿り着いた結論は、Honeycomb以降は、Preference#setSummary(String) で"%"は書式文字列として扱われるというもの。うわー、なんだコレ。
という事で、対策を盛り込んでエラーが出なくなったので、これにてバージョン 0.0.2 を公開するに至る。めでたしめでたし。


参考:http://www.devlog.alt-area.org/?p=1034