Empressia for Androidって
Android用のライブラリを作ってみたよ。
いくつか便利なクラスを用意してあるから、紹介するね。
※Android 2.3.3(API Level 10)以上、r16以上のSupport Library v4を使ってるよ。
DBUnit
JPAみたいな@Idと@Columnのアノテーションをデータクラスにつけて、
簡単にDBのやりとりをするクラスだよ。
SQLかかなくてすむわけじゃないけど、だいぶ楽になるんじゃないかな〜。
public class HogeDBUnit extends DBUnit {
@Override
protected Class<?>[] getManagedClasses() {
return new Class<?>[] { DataClass1.class, /* DataClass2.class, DataClass3.class */ };
}
}
public class DataClass1 {
@Id @Column
public int ID;
@Column
public String Name;
}
これで、DBUnit使うときに適当なCREATE文が自動で作られてDBが準備されるよ。
アノテーションはsetterとかにつけてもok。
List list = this.DBUnit.findAll(DataClass1.class, null);これで全件取得できるよ。
まぁ、JOINとかWHEREとかを書くときは、全部自力で書かないといけないんだけどね。
でもオブジェクトにマッピングするところは自動でできるよ。
SharedPreferences
Androidに用意されてるSharedPreferencesのキーってStringなんだよね。
ローカライズするものじゃないからだと思うけど、キーをリソースにしたくなったりしない?
そういう場合は、このクラス。
SharedPreferences prefs = new SharedPreferences(originalPrefs);こんな感じでラップすればリソースをキーに使えるよ。
SharedPreferences prefs = SharedPreferencesUtilities.getPrivate(context);ってやれば、アプリ用の設定を一発で取ってくることもできるよ。
う〜ん、微妙?
キーをリテラルで埋め込んでるよりはましかな〜って思ったんだけど。
AbstractListAdapter
ListAdapterでなんかViewのリサイクルとか考えるのが面倒だから、AbstractListAdapterって言うのを用意してみたよ。
createViewとupdateViewをそれぞれ実装すれば良いだけだから簡単だよ。
AbstractListPagerAdapter
ViewPager用のクラスを作ってみたよ。
ViewPagerは元々、いろんな見栄えのページを切り替えるために作られたと思うんだけど、
同じ見栄えのページをListViewみたいに連続して表示したいと思うことってない?
updateViewでViewを書き換えるだけで横に1ページごとに切り替えられるListViewのできあがり。
PagerAdateprとか、FragmentPagerAdapter、FragmentStatePagerAdapterから作るよりも
楽に作れてメモリも節約できるんじゃないかな〜。
他にもいろいろクラス入ってるので試してみてね('-^*/
Javadocもあるんだけど、なんかメモとか混入してるからほしい人がいればってことで……(゜▽、゜