もふもふ技術部

自前でsqlite使ってゴリゴリ書くのめんどくさいからActiveAndroidなるORマッパーを使ってみたよ


Android, Javaでアプリ作ってます。
普段はRuby on Railsで仕事していることが多いので、DBアクセスらへんはActiveRecordさまにお任せしておるのですが、Androidでsqlite使おうとすると、SQLiteOpenHelperクラスを使って自前でゴリゴリ書くことになってしまいます。

これだとコードが煩雑になるし、自分で共通クラス作るのも楽しいかと思ったんですが、ライブラリがあるんなら使わせいただいた方が早いし安定してるよねー、ってことで調べたらORマッパーがあるとのこと。

ActiveAndroidというライブラリが見つかりました。名前の通りRailsでおなじみのActiveRecord的な感じで書けるとのこと。これは使わない手はない。早速試してみたわけです。

インストール

まずは公式サイトをのぞきに。Getting Startedがあるので基本はそれを参照してやってみました。
http://www.activeandroid.com/

まずはライブラリをダウンロード。zipを落とすように書いてあったんですが、手間なのでgit cloneします。

gradleでビルドしてjarファイルを作りましょう。

build/libs/activeandroid.jar が生成されるので、開発中のプロジェクトのlibsディレクトリにコピーします。

AndroidManifest.xml を下記のように修正します。ちなみにApplicationクラスを拡張している場合は指定方法がちょっと変わるんですが、そこらへんは割愛。公式に書いてあるので参照されたし。

続いてModelクラスを作ります。ActiveRecordではお決まりですね。
インスタンス変数とコンストラクタを定義して、アノテーションをつければ出来上がり。

Item.java

インスタンス変数がpublicなのが気になる。javaならprivateにしてgetter, setter見慣れているからかな。

実際に使用してみましょう。

こんな感じで取得出来たのを確認。
active_android_01

使ってみた感想

Rails屋さんとしては非常にらくちん。ほぼ一発で動きました。これであの煩雑なコードから解放されると思うと胸が熱くなりますね!

毎回あんなごりごりのコードを書くのは心も体もつらいと思うんだけど、他のAndroidエンジニアさんはどんなやり方しているんだろう。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。