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

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

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アプリ開発の魅力を解説📱✨

Android Studioを使えば、プログラミング初心者でも無料で本格的なAndroidアプリを作れます。
とくに、メモ帳アプリToDoアプリは構造がシンプルで学習にもぴったりです。

下記の記事では、以下のステップでアプリ開発の流れを詳しく紹介します👇

◉ Android Studioの基本操作と開発環境の整え方
◉ XMLレイアウトボタン操作・画面遷移の基礎
◉ ListViewやArrayAdapterの使い方
◉ SQLiteによるデータ保存で実用的なアプリへ
◉ Google Playへの公開を目指す手順

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

自分のスマホで動く実用的なアプリを作りながら、プログラミングスキルを楽しく習得できます💡
ぜひこの記事を参考に、自分だけのアプリ開発にチャレンジしてみましょう🚀

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