散髪記録
非常に即席だが、とりあえずバージョン1.0.0でマーケット公開。
http://market.android.com/details?id=tintindo.LastDay
作りたいアプリがすぐ作れる開発環境が無料だってのがすごい。
で、予定ではこのあと、ウィジェットにも対応し、むしろウィジェットがメインで使う物を作るつもりで、
この現時点でアプリのウィンドウにしかアイテムを表示できない状態では、完成度50%のはずだった。
順調にここまでできて、さぁウィジェット部分も作るぞと下調べしてたら、重要な問題があったので、
そもそも自分の端末ではどんなウィジェットをも使うのが嫌になり、
自分が使わないんだから作る気もなくなった。
普通のアプリは、自分のウィンドウの中だけでなら何をやっても許されるという事もあり、
好きなものを自由に作れて楽しいのだが、ウィジェットというのはどうも、
よそ様のホームアプリ上で動作するという都合上、なんでも好き勝手には出来ない仕様のようだ。
まさに、自分の家なのか他人の家なのかで、やって良いことと悪いことがあるようなもの。
あたしがやりたいことは、画面の再描画を検出して、ウィジェットの内容を書き換えたいという、
どんなプラットフォームでも当たり前にやることだけだし、それが出来ないというのは想像してなかった。
それが出来ないとどうするかっていうと、タイマーで一定間隔ごとに再描画しなきゃいけない。
そうすると結果的にバッテリーを浪費するから、そこまでしてウィジェットを使う意味があるかという話になる。
自分で作るかどうかだけじゃなく、よそのアプリだって再描画は検出できないという同じ条件だから、
バッテリーを浪費しつつタイマーを使ってるだろうし、アプリによってどれだけ浪費してるか調べようがないので、
それじゃ自分の使ってる端末に一切のウィジェットを置くのをやめ、電力消費を抑えることにした。
仮にこの今作ってるアプリをウィジェットにしたとして、電力消費を抑え気味に作った場合、
日付が変わっても何日前って表示がしばらく変わらない変な状態が続く。
そうならないために、せめて5分以内には日付のカウントを更新するように作れば、
それは常に5分間隔で動く常駐アプリになるわけで、それがスリープ時も動いてるかどうかはわからないが、
ウィジェットにスリープを感知する機能がないんだから、そりゃスリープ時も動いてるだろうと予想する。
そういうのを作っても自分の端末には入れておきたくない。
ましてや、他人が作って、何分おきに動作してるか公表されてない、設定できないウィジェットは、
自分の端末に絶対入れたくない。
ということで、今まで使ってた全てのウィジェットを撤去した。
で、自分のアプリではウィジェットを作るのかというと、そりゃ作らないだろうさ。
いくらなんでも使いもしない物は作らない。
そんなに電力を食いそうな作業をするわけではないが、定期的に動作するというのが気にくわない。
と言うわけで、急にこれ以上やることがなくなったので、マーケットで公開に到った。
今回はカメデスと違って、エミュでも備わってる機能しか使ってないのでエミュ中心に作ったが、
いざ実機で動かすとフォントサイズの差異がUIに大きく影響した。
それによって、散髪記録だけじゃなくカメデスの方もフォントサイズを調整しなきゃって気がついた。