TEXTBOOK SECTION / AI LEARNING

Flutterアプリとデータベースの関係

Flutterアプリケーション開発概論の「Flutterアプリとデータベース連携入門|アプリのデータを残す仕組み」より、Flutterアプリとデータベースの関係を解説。生成AI、AI活用、DX、業務改善を実践しながら学べるオンライン教材です。

4Flutterアプリとデータベース連携入門|アプリのデータを残す仕組みFlutter / iOS / Android / MacOS / Windows / 基礎から学ぶ / 開発 / アプリ開発

OVERVIEW

この節で学べること

概要を表示する
項目内容
教材名Flutterアプリケーション開発概論
Flutterアプリとデータベース連携入門|アプリのデータを残す仕組み
Flutterアプリとデータベースの関係
カテゴリFlutter / iOS / Android / MacOS / Windows / 基礎から学ぶ / 開発 / アプリ開発
学習内容生成AI、AI活用、DX、業務改善を実践しながら理解するための教材です。

TABLE OF CONTENTS

目次

CONTENT

ここから

この章で学ぶこと

この章では、Flutterアプリとデータベースが、それぞれ何を担当しているのかを整理します。

最初に覚えることは、これだけです。

Flutter = 画面を作る
データベース = データを保存する

アプリは、画面だけでも動いているように見えます。

でも、メモ・Todo・予約・ランキングのように、データをあとから使いたい場合は、データベースと連携する必要があります。


4-1. Flutterは画面を作る役割

Flutterは、アプリの画面を作るための道具です。

例えば、次のようなものを作れます。

文字
ボタン
入力フォーム
一覧表示
カードUI
画面切り替え

Todoアプリなら、Flutterはこのような画面を作ります。

タスク入力欄
保存ボタン
Todo一覧
完了チェック
削除ボタン

つまり、Flutterはユーザーが見る部分・触る部分を担当します。

ユーザーが見る画面
ユーザーが押すボタン
ユーザーが入力するフォーム
↓
Flutterの役割

4-2. データベースはデータを保存する役割

データベースは、アプリで使う情報を保存する場所です。

Todoアプリなら、次のようなデータを保存します。

タスク名
完了状態
作成日時
誰のタスクか

例えば、データベースにはこのような形で保存されます。

idタスク名完了状態作成日
1レポートを書く未完了2026-06-04
2買い物に行く完了2026-06-04

Flutterが画面を作り、データベースが中身を保存します。

Flutter
↓
見た目を作る

データベース
↓
情報を保存する

4-3. アプリからデータベースへ送る流れ

ユーザーがアプリで入力した内容は、データベースに送って保存します。

Todoアプリで考えると、流れはこうです。

1. ユーザーがタスク名を入力する
2. 保存ボタンを押す
3. Flutterが入力内容を受け取る
4. データベースへ送る
5. データベースに保存される

例えば、ユーザーがこう入力します。

レポートを書く

保存ボタンを押すと、データベースに保存されます。

タスク名:レポートを書く
状態:未完了
作成日:今日

これで、アプリを閉じてもデータを残せます。


保存のイメージ

Flutterの入力フォーム
↓
保存ボタン
↓
データベースへ送信
↓
保存完了

難しく考えなくて大丈夫です。

最初は、

画面で入力した内容を、保存場所に送る

と考えればOKです。


4-4. データベースからアプリへ読み込む流れ

保存したデータは、あとから読み込んで画面に表示します。

Todoアプリなら、流れはこうです。

1. アプリを開く
2. Flutterがデータベースに問い合わせる
3. データベースからTodo一覧を受け取る
4. Flutterが画面に表示する

例えば、データベースに次のデータがあるとします。

レポートを書く
買い物に行く
英単語を覚える

Flutterは、このデータを読み込んで、画面に一覧表示します。

□ レポートを書く
□ 買い物に行く
□ 英単語を覚える

読み込みのイメージ

データベース
↓
保存済みデータを取り出す
↓
Flutterに渡す
↓
画面に表示する

アプリを開いたときに前のデータが表示されるのは、この読み込み処理があるからです。


4-5. 画面・処理・保存場所を分けて考える

アプリ開発では、3つに分けて考えると分かりやすいです。

画面
処理
保存場所

それぞれの役割はこちらです。

役割内容
画面ユーザーが見る部分入力欄、ボタン、一覧
処理データをどう扱うか保存する、読み込む、削除する
保存場所データを残す場所データベース

Todoアプリなら、このようになります。

画面
↓
タスク入力欄、保存ボタン、Todo一覧

処理
↓
入力内容を受け取る、保存する、一覧を読み込む

保存場所
↓
Todoテーブル

この分け方が大事な理由

画面・処理・保存場所を分けて考えると、エラーが起きたときに原因を探しやすくなります。

例えば、Todoが表示されない場合です。

画面の問題?
↓
表示するコードが間違っているかも

処理の問題?
↓
読み込み処理が動いていないかも

保存場所の問題?
↓
データベースにデータが入っていないかも

このように、どこで問題が起きているかを分けて考えられます。


Flutterとデータベース連携の全体像

全体の流れは、とてもシンプルです。

ユーザーが入力する
↓
Flutterが受け取る
↓
データベースに保存する
↓
必要なときに読み込む
↓
Flutterが画面に表示する

図で考えると、こうです。

ユーザー
↓
Flutterアプリ
↓
データベース
↓
Flutterアプリ
↓
ユーザーに表示

つまり、Flutterとデータベースはセットで動きます。


具体例:Todoを追加する場合

Todoを追加する場合の流れです。

1. ユーザーが「レポートを書く」と入力
2. 保存ボタンを押す
3. Flutterが文字を受け取る
4. データベースに保存する
5. 保存後、Todo一覧を更新する

このとき、Flutterだけではデータを長く残せません。

データベースに保存することで、次にアプリを開いても表示できます。


具体例:Todo一覧を表示する場合

Todo一覧を表示する場合の流れです。

1. アプリを開く
2. Flutterがデータベースに「Todoをください」と聞く
3. データベースがTodo一覧を返す
4. FlutterがListViewなどで表示する

画面に出ている一覧は、データベースから読み込んだデータです。


よく使う言葉

この章で出てくる大事な言葉です。

言葉意味
保存データを残すこと
読み込み保存したデータを取り出すこと
送信Flutterからデータベースへ送ること
取得データベースからFlutterへ受け取ること
表示データを画面に出すこと

まずは、これだけで十分です。


インストールや準備について

この章では、まだインストール作業はしません。

ただし、今後の実装では、以下を使います。

目的使うもの
Flutterアプリ開発Flutter SDK
コードを書くVisual Studio Code
クラウドデータベースSupabase
FlutterからSupabaseに接続supabase_flutter

準備するときは、以下の公式ページを使うのがおすすめです。

Flutter公式インストール
https://docs.flutter.dev/install

Flutter × VS Code
https://docs.flutter.dev/tools/vs-code

Supabase Flutter Quickstart
https://supabase.com/docs/guides/getting-started/quickstarts/flutter

supabase_flutter
https://pub.dev/packages/supabase_flutter

この章では、まだ登録やインストールをしなくて大丈夫です。

まずは、Flutterとデータベースの役割分担を理解しましょう。


4-6. この章のまとめ

この章では、Flutterアプリとデータベースの関係を整理しました。

Flutterは、画面を作る役割です。

データベースは、データを保存する役割です。

Flutter
↓
ユーザーが見る画面を作る

データベース
↓
あとから使うデータを保存する

アプリからデータベースへ送ると、データを保存できます。

データベースからアプリへ読み込むと、保存したデータを画面に表示できます。

最後に、アプリは次の3つに分けて考えると分かりやすいです。

画面
処理
保存場所

この考え方が分かると、Todoアプリ、メモアプリ、予約アプリ、在庫管理アプリなど、いろいろなアプリに応用できます。

FAQ

よくある質問

Flutterアプリとデータベースの関係は医療関係者向けだけの内容ですか。
医療分野の例が含まれる場合もありますが、医療関係者だけに限定した内容ではありません。生成AI、AI活用、DX、業務改善、プロトタイプ開発など、一般的なAI学習の事例として読める内容です。
AI初心者でも読めますか。
はい。AIをこれから学ぶ方、数学が苦手な方、仕事でAIを使いたい方にも読み進めやすいように、教材の章と節の流れに沿って整理しています。
サムネイル画像は必ず表示されますか。
はい。教材にcoverUrlが設定されている場合はその画像を表示し、未設定の場合は代替サムネイル画像を表示します。
Flutterアプリケーション開発概論のほかの章も読めますか。
はい。教材トップから章立てを確認でき、前後の節へもページ下部のナビゲーションから移動できます。