AndroidのSQLiteをActive Record風に使うためのライブラリ
『ActiveAndroid』のインストールに手こずったのでそのメモです。
インストールさえ完了すれば、かなりわかりやすいライブラリなのでこれから重宝しそうです^^
🍮 前提
Android 4.4 / Android Studioで開発中です。
🐯 jarファイルの生成
次のコマンドを実行してjarファイルを生成。
git clone https://github.com/pardom/ActiveAndroid.git |
生成したjarファイルをapp/libs
にコピー。
cp ActiveAndroid/build/libs/* /android/path/to/app/libs |
🤔 Gradleファイルの設定
app/build.gradle
の中に以下を追加。
dependencies { |
😎 AndroidManifest.xmlに設定
AndroidManifest.xml
に次の設定を行います!
(1) applicationタグに android:name="com.activeandroid.app.Application" を追記。 (2) applicationタグの中にmeta-tagに AA_DB_NAME と AA_DB_VERSION を追記。
ということでサンプルはこんな感じです。
👽 テーブル定義の設定
まずはテーブル定義を設定。これはシンプル!
// テーブル名の定義 |
さらにテーブル間のリレーションの定義とかは本家GitHubのWikiがわかりやすいのでオススメです!
Creating your database model · pardom/ActiveAndroid Wiki
🐰 レコードの新規作成して保存(insert)
新規レコードを作成して保存するinsert文。かなり直感的。
// Itemテーブルのレコードを作成 |
テーブル間のリレーションを設定して保存したり、Bulk insertしたり、レコードを削除したりは本家GitHubのWikiに詳しく書いてあります。
Creating your database model · pardom/ActiveAndroid Wiki
🍣 レコードの検索
テーブルに保存したレコードを検索する場合はこちら。
// nameの一致するレコードを1件取得 |
🐠 Date型をつかえるようにする / Type serializers
SQLiteで扱えるのは、INTEGER, REAL, TEXT, BLOB
だけだそうです。
ですが、Date型を保存したいことって結構あると思います。そんな時に便利なのが、TypeSerializer
です。
ここでは、Date型をDBに保存するときにはLong型にして、DBから取り出したらDate型に戻してくれるクラスを作ります。
import com.activeandroid.serializer.TypeSerializer; |
作成が完了したら、AndroidManifest.xml
に次の設定を追加!
|
🐮 さらに使いこなすために
Creating your database model · pardom/ActiveAndroid Wiki
ActiveAndroid を使って ActiveRecord ライクに SQLite を操作する
ActiveAndroidを使ってみた - kurobaraのブログ
🎂 Android Studioで原因不明のエラーが出続ける場合
Eclipseは使ったことないですが、Android StudioでBuildすると結構な確率でエラーが出て積むことがあります。
そんな、初心者な方のために今日覚えたコマンドを書いておきます。
(1) File ----> Invalidate caches/restart (2) Build -> Clean project
かなりハマりましたorz…
🐞 参考リンク
How to add ActiveAndroid ORM to Gradle?