はじめに
本稿では、Android Javaアプリケーション開発に、NoSQLドキュメント指向モバイルデータベース Couchbase Liteを使うための具体的な方法について解説します。
本稿では、Couchbase Lite 3.0.0ベータ版をAndroid Javaアプリケーションで利用する際の動作確認までを行います。
Couchbaseをモバイルアプリケーションで利用する意義については、以下の記事をご参考ください。
確認環境
- macOS Catalina Version 10.15.7
- Android Studio 4.1.3
実行手順
プロジェクト作成・Couchbase Liteインストール
Android Studioで新しい「Empty Activity(空のアクティビティ)」プロジェクトを作成します。
「Language」として「Java」を選択します。
また、「Minimum SDK」として「APId 22: Android 5.1 (Lollipop)」を選択します。
build.gradle
ファイル
新しく作成したプロジェクトで、アプリケーションレベルのbuild.gradle
ファイルを編集します。
android
セクション
今回検証したプロジェクトのandroid
セクションの全体を示します。targetSdkVersion
とcompileSdkVersion
周りにマニュアルでの編集を行っています。
android {
compileSdkVersion 31
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 22
targetSdkVersion 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
repositories
セクション
repositories
セクション(なければ追加)に以下を含めます。
repositories {
maven { url 'https://mobile.maven.couchbase.com/maven2/dev/' }
}
dependencies
セクション
dependencies
セクションに以下を含めます。
dependencies {
implementation 'com.couchbase.lite:couchbase-lite-android-ee-ktx:3.0.0-beta02'
// ... 省略
}
以上の変更を加えた後に、プロジェクトをビルドすると、Couchbase Liteがプロジェクトにプルダウンされます。
プログラミング・実行結果確認
MainActivity
ファイル編集
インポート文として、下記を追加します。
import android.content.Context;
import android.util.Log;
import com.couchbase.lite.*;
MainActivity
クラスを以下のように編集します。
public class MainActivity extends AppCompatActivity {
//@Override
//protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
//}
private String TAG = "CBL-GS";
private Context cntx = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Couchbase Lite 初期化
CouchbaseLite.init(cntx);
Log.i(TAG,"Couchbase Lite 初期化完了");
//
// データベース作成
Log.i(TAG, "データベース作成開始");
DatabaseConfiguration cfg = new DatabaseConfiguration();
Database database = null;
try {
database = new Database("myjavadb", cfg);
} catch (CouchbaseLiteException e) {
e.printStackTrace();
}
// ドキュメント作成
MutableDocument mutableDoc =
new MutableDocument().setString("type", "user").setString("name", "佐藤");
// ドキュメント保存
try {
database.save(mutableDoc);
} catch (CouchbaseLiteException e) {
e.printStackTrace();
}
// ドキュメント取得、変更、保存
mutableDoc =
database.getDocument(mutableDoc.getId())
.toMutable()
.setString("firstname", "太郎");
try {
database.save(mutableDoc);
} catch (CouchbaseLiteException e) {
e.printStackTrace();
}
// ドキュメント取得、ログ出力
Document document = database.getDocument(mutableDoc.getId());
Log.i(TAG, String.format("Document ID : %s", document.getId()));
Log.i(TAG, String.format("姓名 : %s", document.getString("name")));
Log.i(TAG, String.format("名前 : %s", document.getString("firstname")));
}
}
ビルドし、エミュレーターで実行します。
ログ
logcatウィンドウに以下のようなログが表示されます。
データベースファイル
メニューから、Device File Explore(View > Tool Window > Device File Explore)を開きます。
アプリケーションのパッケージ以下のfilesに作成したデータベース(フォルダー)を確認することができます。
最後に
本稿では、Android Javaアプリケーション開発のために、プロジェクトにCouchbase Liteをダウンロードし、基本的な操作が行えるところの確認までを行いました。
モバイルアプリケーション開発に組込データベースを使った経験のある方であれば、以降の応用は、比較的簡単に可能かと思います。
最後に、さらなるステップに進むための情報を示して、本稿の締め括りとしたいと思います。
Couchbase Liteについての記事を以下の投稿で整理していますので、ご関心に応じて、参照してみてください。
Couchbase Liteを用いたAndroid Javaアプリケーション開発について、以下のようなチュートリアルが存在します。
また、サンプルアプリケーションを動作させる環境の構築を通じて、Couchbase Lite利用のみではなく、Couchbase Serverとのデータ同期までをカバーした、以下のチュートリアルがあります。
上記のチュートリアルの内容をベースに日本語化したものを下記で確認いただけます。
本稿で扱っていない、Couchbase Serverについては、日本語で読むことができるまとまった情報として、次の拙著を紹介させていただきます。