Androidでsqliteを利用するプロジェクトを作成する方法3つ

投稿者: | 2019年7月23日

sqlite3をAndroidで扱う現在の方法

sqliteを使うプロジェクトを今から作る場合、Androidでは以下の3パターンがありうる。

  1. 伝統的なandroid.database.sqliteパッケージを用いる
    詳しい説明がSave data using SQLiteにある。皆がよく知る方法で日本人なら選びそうなやり方である。ただし、Googleは使うなとまでは言わないが次の選択肢Roomを「強く推奨」している。
    このやり方はネットや以前の本などでサンプルがたくさん見つけられる、SQLをベタ書きするタイプだ。
    androidx.sqlite.db, androidx.sqlite.db.frameworkの二つがJetpackにあるので実用上はそれを利用することになるのだろう。

  2. 新しいGoogle Jetpackの中にある、Roomを用いる
    こちらも詳しい情報がSave data in a local database using Roomにある。これから作るならこちらが「強く推奨」されている。DBアクセスが抽象化され、複数スレッド対応などより安全性や可用性に配慮したものになっている。

  3. Flutterのsqflite pluginを用いる。
    こちらの詳細はPersist data with SQLiteにある。これはAndroidとiOSともに使える公開されているプラグインsqfliteで実現するのである。
    実際に中身を記述する際にはSQLベタ書きも抽象化されたHelperを使うことも出来る。SQLベタ書きは移行しやすさに配慮したものかも知れない。

代表的なもので先々も安定的に使えそうなのは上の3つだろう。

まとめ

それぞれのメリット、デメリットを考慮して実装することになりそう。企業内カスタムアプリなのか、ストアアプリなのかなどの政治的状況、チーム構成などマネージャーは頭が痛いところ。

FlutterアプリケーションはWeb, Mobileのコードベース共有ができるのがメリットだが、UIレイアウトがFlutter独自のものになるのが弱点だろう。

現在Googleが推奨しているJetpackの中のパッケージリストがPackage Indexにある。必要に応じて概要、詳細を調べる際にはここだろうか。

コメントを残す