\ 最大9.5%ポイントアップ! /

Android StudioでSQLiteを使ったToDoリスト開発!DBヘルパーでデータ保存

Android StudioでDB保存機能を実装するDBヘルパー!

ToDoリストアプリを作ってみたい!
でも、アプリを再起動したらデータが消えてしまう…そんな壁にぶつかった方へ🚧

今回は、Androidアプリにデータ保存機能を実装するための「DBヘルパー」について解説します📂

以下のような方におすすめ👇

  • SQLiteでデータを保存する理由が知りたい
  • Android StudioでDBを扱う基本構成を理解したい
  • SQLiteOpenHelperの書き方がまだ曖昧
  • Javaのextends・コンストラクタの基礎もおさらいしたい

初心者でも安心して読み進められるよう、ソースコード付きでやさしく解説しています💡
この記事を読めば、あなたのToDoアプリが一気に”本格派”になりますよ📱✨


目次

🔎 Javaでデータベースを使用する理由

一時的ならメモ帳ファイルに保存してもOK。
でもアプリを終了して再起動すると、メモがすべて消えてしまう…💥

次回起動時にもメモを表示したいなら、データはファイルやDBに保存しておく必要があります。

純粋なテキスト保存でもOKですが、

  • 条件でデータを抽出したい
  • 一覧をソートしたい
    といった応用がしたくなる場面が出てきます。

そういう時に便利なのが、データベース保存(SQLite)なんです🔄
初期設定はちょっと面倒でも、あとあとラクになる選択です💪


🧱 AndroidアプリでDB操作にDBヘルパーが必要な理由

Android StudioでSQLiteを扱うには、まずDBヘルパーという仕組みを作る必要があります💡

これは、次のような流れを作るため👇
📱 MainActivity → 📂 DBヘルパー → 📊 データベース

直接DBを操作するのではなく、ヘルパーを通じてアクセスするのが鉄則なんです。

💡 ポイント

  • DBヘルパーはJavaクラスとして新規ファイルで作成
  • クラス名とファイル名は一致(例:MemoDatabaseHelper.java)
  • 1ファイルに1つのpublicクラスのみOK!←Javaのルール

✍️ MemoDatabaseHelperの基本構成

以下が今回作成したDBヘルパークラスの基本構成です👇

public class MemoDatabaseHelper extends SQLiteOpenHelper {

private static final String DATABASE_FILE_NAME = "memo_data.db";
private static final int DATABASE_VERSION = 1;

static final String TABLE_NAME = "memo_data";
static final String ITEM_ID = "_id";
static final String ITEM_MEMO = "memo";
static final String ITEM_START_DATE = "start_date";
static final String ITEM_COMPLETE_DATE = "complete_date";
static final String ITEM_AUTHOR = "author";
static final String ITEM_CHECKER = "checker";
static final String ITEM_FLAG = "flag";
static final String ITEM_GROUP = "group_name";
static final String ITEM_PRIORITY = "priority";

public MemoDatabaseHelper(@Nullable Context context) {
super(context, DATABASE_FILE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
// テーブル作成
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// テーブル更新
}
}

👨‍👦 「extends SQLiteOpenHelper」って何?

extendsは、「このクラスはSQLiteOpenHelperの子ですよ」という意味👶
つまり、親クラス(SQLiteOpenHelper)の機能を受け継ぐという宣言です。

ポイントは以下👇

  • 親クラスの便利な機能を流用できる
  • 必要な部分だけ自分で上書きしてカスタマイズ可能

今回でいえば、SQLiteOpenHelperの基本的なDB操作機能はそのまま活用し、
自分で書きたいDB構造や処理だけ記述するスタイルです。


🛠️ 上書き必須な2つのメソッド(onCreate / onUpgrade)

extends SQLiteOpenHelper を使ったら、必ず次の2つを実装する必要があります👇

@Override
public void onCreate(SQLiteDatabase db) {
// 初回DB作成時の処理
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// バージョンアップ時の処理
}

これらは親クラスに定義されている抽象メソッドで、
子クラスで必ず中身を記述してね!」と指定されています📝

もし書かないと…❌ コンパイルエラーになります!

また、@Override上書きしてるよ!の目印です。
実は省略しても動きますが、ミスを防げるので付けておくのが推奨です👍


🧪 最後に出てきた「コンストラクタ」って何?

こちらがコンストラクタ👇

public MemoDatabaseHelper(@Nullable Context context) {
super(context, DATABASE_FILE_NAME, null, DATABASE_VERSION);
}

クラス名と同じ名前の特殊なメソッドで、
クラスのインスタンスが作られたときに自動で呼び出されます🔄

今回の例では、以下のような初期設定を行っています👇

  • データベースのファイル名(memo_data.db
  • バージョン番号(1)

✅まとめ:DBヘルパーの理解はアプリの土台作り!

📌 今回の要点を振り返ると…

  • SQLiteで保存すれば再起動後もデータが残る
  • DB操作はDBヘルパーを通すのがAndroid流
  • extends SQLiteOpenHelperで便利機能を受け継ぐ
  • onCreate / onUpgradeは必ず実装するべし
  • コンストラクタは初期設定のための特別な関数

少しずつでも理解が進めば、アプリ開発がグッと楽しくなりますよ✨
次回は、このヘルパーをどうやってMainActivityから使うか?を詳しく紹介します💪


🔗 Android Studioを使った無料アプリ開発完全ガイド👇

あわせて読みたい
Android Studioを使った無料アプリ開発を、ステップ形式でわかりやすく解説 初心者でも無料で挑戦できる!Androidアプリ開発の魅力を解説📱✨ Android Studioを使えば、プログラミング初心者でも無料で本格的なAndroidアプリを作れます。とくに、メ...

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次