Android

【Kotlin】RoomでDB管理をする

投稿日:

はじめに

こんにちは。miyagawaです。ここ3ヶ月ほど案件でKotlinに触れ、色々な書き方や実装の方法などがわかり始めてきました。
今回は普段使用していない『Room』を使ってDB管理をしたいと思います。

Gradleを更新

Gradleファイルに【公式の実装マニュアル】の項目を追記します。
gradle(app)だけでなく、gradle(.)も更新する必要があるので注意が必要です。

Data Classを作成する

DB管理する元となるData Classを作成します。
今回はUserというデータ(ID、名前、性別)を作成します。
性別のクラスは「男性、女性、その他」の3種類のみを設定するため、Enum Classを設定しました。
@Entity アノテーションをつけることによって、このクラスはデータベースに保存されるエンティティであることを表すことができます。

DAOファイルを作成する

DAOとは Data Access Object の略で、データをSQLで操作する処理を記載します。
コンパイル時にエラーが起こらないかを検証します。そのため、ランタイムエラーが起きにくくなります。
今回はデータ全件取得、追加、更新、削除のメソッドを追加しました。

予想していたよりスッキリかけました。
suspend fun を使うことで、Coroutineを一時停止させることができるそうですが、今回はつけずに実行してみます。

RoomDatabaseファイルを作成する

ここでようやくRoomという単語が出てきました。
RoomDatabaseクラスは下の条件を満たさなければなりません。

  • RoomDatabaseを継承した抽象クラスであること
  • Entityのリストをアノテーションの中に列挙されている
  • Daoクラスを返却するabstractメソッドを持つこと
  • DBを操作してみる

    MainActivityにdatabaseをいじる処理を書きました。
    Create、Update、Deleteをメソッド単位で準備し、それぞれonCreateで呼んでいます。

    さいごに

    Roomを用いてDBを操作しました。LiveDataと連携するとRecycleViewなどに使えて、データが変更されるたびに反映されるのでまた試してみたいと思います。

    参考

    https://codelabs.developers.google.com/codelabs/android-room-with-a-view-kotlin/#0

    おすすめ書籍

    Kotlinイン・アクション Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

    blog-page_footer_336




    blog-page_footer_336




    -Android

    執筆者:

    免責事項

    このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


    comment

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    CAPTCHA


    関連記事

    Flutterでテストコードを書こう! 単体テスト・Widgetテスト・インテグレーションテスト

    1 はじめに2 単体テスト2.1 testパッケージの利用2.2 テストの書き方2.3 テストの実行2.4 モック化2.4.1 mockitoの導入2.4.2 メソッドのモック化3 Widgetテスト ...

    Flutter開発のはじめかた 開発環境セットアップ〜Widtgetの解説

    1 はじめに2 セットアップ2.1 Flutterのインストール2.1.1 Android環境のセットアップ2.1.2 Xcodeのインストール2.1.3 IDEのセットアップ(Android Stu ...

    [Androidアニメーション]Shared Elements遷移

    1 はじめに2 Shared Elements遷移とは3 layout xml4 Activity遷移5 その他6 さいごに はじめに 最近、雨が多いですね。そんな時は家にこもって、プログラミングをす ...

    Kotlinのスコープ関数を調べて見た

    1 はじめに2 スコープ関数とは3 スコープ関数の種類について4 with関数4.1 使い方4.1.1 withを使わない場合4.1.2 withを使う場合4.2 所感5 apply関数5.1 使い方 ...

    【Kotlin】Glideで角丸の画像を作成する

    1 はじめに2 使用するライブラリのインポート3 Glideで画像を読み込む4 オプションまとめ5 さいごに6 おすすめ書籍 はじめに こんにちは。miyagawaです。 今回はGlideを使って角丸 ...

    フォロー

    blog-page_side_responsive

    2019年10月
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  

    アプリ情報

    私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。