0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AndroidAdvent Calendar 2021

Day 12

Android Javaアプリケーション開発に、NoSQLドキュメント指向モバイルデータベースCouchbase Liteを使ってみる

Last updated at Posted at 2021-12-13

はじめに

本稿では、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)」を選択します。

image.png

build.gradleファイル

新しく作成したプロジェクトで、アプリケーションレベルのbuild.gradleファイルを編集します。

androidセクション

今回検証したプロジェクトのandroidセクションの全体を示します。targetSdkVersioncompileSdkVersion周りにマニュアルでの編集を行っています。

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ウィンドウに以下のようなログが表示されます。

image.png

データベースファイル

メニューから、Device File Explore(View > Tool Window > Device File Explore)を開きます。

「Name」セクションのdata > dataを開きます。
image.png

アプリケーションのパッケージ以下のfilesに作成したデータベース(フォルダー)を確認することができます。

最後に

本稿では、Android Javaアプリケーション開発のために、プロジェクトにCouchbase Liteをダウンロードし、基本的な操作が行えるところの確認までを行いました。
モバイルアプリケーション開発に組込データベースを使った経験のある方であれば、以降の応用は、比較的簡単に可能かと思います。
最後に、さらなるステップに進むための情報を示して、本稿の締め括りとしたいと思います。

Couchbase Liteについての記事を以下の投稿で整理していますので、ご関心に応じて、参照してみてください。

Couchbase Liteを用いたAndroid Javaアプリケーション開発について、以下のようなチュートリアルが存在します。

また、サンプルアプリケーションを動作させる環境の構築を通じて、Couchbase Lite利用のみではなく、Couchbase Serverとのデータ同期までをカバーした、以下のチュートリアルがあります。

上記のチュートリアルの内容をベースに日本語化したものを下記で確認いただけます。

本稿で扱っていない、Couchbase Serverについては、日本語で読むことができるまとまった情報として、次の拙著を紹介させていただきます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?