Androidのカレンダー関連のソースを読んで。

また久しぶりの書くけど。

何で書くかって、Android2.2のカレンダー関連のソースコードを読んでいたら、androidのクラスには、色々便利そうなクラスがあることに気がついたから。忘れないうちに。

読んだソースは、主にここと
https://github.com/OESF/OHA-Android-2.2_r1.1

ここ
http://grepcode.com/snapshot/repository.grepcode.com/java/ext/com.google.android/android/2.2.1_r1/


実際に使ってはいないが、ソースコードを読んだ感じから。

  • android.widget.ViewSwitcher
    • これと同じ機能をもっているViewFlipperをつかっているけど、こっちでも良さそう。基本的に二つのViewしか保持しないみたいだけど、カレンダーとかって、前月とか次月とか無制限につなげる場合は、スライドする時に次のViewを生成するからね。
  • android.database.ContentObserver
    • ContentResolverにregisterContentObserver()を使って登録するクラス。名前のとおり、Observerパターンの実装でしょう。ContentResolverで特定のURIを受けたときに、特定の処理を実行するように登録できる。
  • android.content.AsyncQueryHandler
    • これも名前の通りのクラスでしょう。非同期でqueryを実行し、その検索結果を処理するためのクラス。
  • android.database.sqlite.SQLiteQueryBuilder
    • sqliteのselect文を生成して実行するクラス。テーブル指定して、カラム情報をMapに詰める必要がある。


なんか、大体人が思いつきそうなクラスは、準備されているよね…