2012年1月18日水曜日

[Android]AndroidAnotations

AndroidAnotationsというライブラリ?を最近見かけました。
このライブラリ、Androidで面倒なfindByIdなものとかを全部アノテーションで解決しようとしている。
かつ、スレッドまでアノテーションで処理しできるっぽい。このトップページ見るだけでわくわくしちゃいますね。

コレ使ってみたいけいど、UnitTestとかうまくいくんだろうか。。。

2012年1月13日金曜日

[Android]Application#onTerminateはよばれない?

先日、隣の人に、Application#onTerminateっていつ呼ばれるんですか?って聞かれたので、「メモリ不足のときとかじゃない?」って適当に答えてました。
まぁ、雰囲気的にonCreateと対と読み取れるので、勝手に思ってい込んでいた。というのもあります。

とはいえ、適当に答えるのもアレだし、ちょっと調べてみると、apiリファレンスに、以下のように記載されていました。一部抜粋。

「It will never be called on a production Android device」

雰囲気からいって、実機ではコールバックされない感じ?ということで、隣の人には、「あ、実機じゃ呼ばれないかもらしいよ。」…ってまたもや適当に解答。

しかし、アプリの終わるタイミングは取りたいことがあります。たとえば、AlermManagerの開放であったり、ひらっきっぱのSocketのクローズだったり。メモリ以外のリソースをちゃんとリリースしたですね。
やっぱそういう時は、メインのアクティビティのonDestroyになっちゃうんだろうか...。

2012年1月12日木曜日

[Android]SQLiteのwhere句でnullを引っ掛ける

SQLの常識だと思っていたことが1つ崩れました。
SQLiteだけかもしれませんが、以下の2つはnullがヒット条件になります。


  • select * from foo where bar is null

  • select * from foo where bar <> ''


SQLServerやOracleではis nullじゃないとヒットしない記憶が...