海月玲二
2012-02-18(土)

無題

またandroidプログラミングの話.

AlertDialogを出すときに,適当なところでDialog#show()を使っていたのだが,どうもこれはActivityのライフサイクルと関係づけられないのであまり良くないらしい.そういうサンプルをあちこちで見るもんだからそういうものかと思っていた.

正しくは,Activityを継承したクラスの中で,
・使う可能性のあるダイアログにIDをつけておく
・onCreateDialogをオーバーライドし,その中でIDごとのダイアログを生成する
・使いたいところではshowDialog(ID)とだけする
ということらしい.こうするとそのActivityのダイアログが関連づけられ,フレームワークがそれなりに処理してくれるんだとか.確かにデベロッパーズガイドにはそう書いてあるな.うーん初めて知った.さらに言えば,最近これはdeprecatedでFragmentがどうのこうのとかいうのを使ったほうがいいらしいが,まあIS01ユーザーとしては1.6を切りすてたくないのでこっちは無視.

全然まったく関係ないけど,PS3のゲームとかメニューとかって総じて字が小さすぎると思う.32型のテレビを使ってるような貧乏人にはPS3を楽しむ権利は認められてないのだろうか.

2012-02-23(木)

無題

androidである程度複雑なものを書いてると,なんかコールバックまみれになるな……JavaでGUIなプログラムを書くとこんなものなんだろうか.クラスを作るほどじゃないんだけど,ちょっとしたルーチンを渡してそれに応じた動作をさせたい,というのに手軽な方法がないような気がする.関数をそのまま引数にしたり配列に入れたりできたらいいのに.Haskellでもやってろってことか.

最近はあまりemacsを使わなくなっているのだが,howmは気にいってるのでメモのためだけにemacsを起動したりしていた.というわけで,このところandroid用に似たようなアプリを作っていて,ずいぶん時間がかかったがなんとかそれらしいのが完成したよ.やったね.まあ実をいうと最近のPCは速いので,emacsをたびたび起動したり終了したりしててもたいして気にならないのだが.

今回もClickableSpanとかArrayAdapterとか知らないトピックがいろいろ出てきて大変だったな.あと今回は,意外とパフォーマンス的なことも厄介だった.適当につくったらGCが発生しまくって,メモの一覧を見るのにいちいち数秒待つような代物になったし.おかげでプロファイラの使いかたまで調べるはめになった.

ていうかいい加減まともなJavaの本でも読んだほうがいいかもしれん.世の中にはちゃんと事前に設計して効率よくプログラム書く方法とかあるって聞いたよ?

まあ見てみたい人はいつもどおりこっちにどうぞ.いつもどおりソースも置いてあります.