自動再生
オートコンプリート
1つ前のレクチャー
このレクチャーを完了し次に進む
Flutter初級編【質問対応有り版】
【本編・序章】オープニング
001:オープニング(みんプロ式へようこそ!) (5:40)
002-1: 【オリエン01】この講座のスライド解説資料と受講に際してのご留意事項・特典・返金対応等について (6:31)
002-2: 【オリエン02】レクチャー動画の視聴方法について(音量・速度・解像度の変更/個人メモの設定等) (2:26)
002-3: 【オリエン03】ご質問頂く際のご留意事項 (5:24)
【本編・第1章】Flutterの基礎知識を身につけよう
003:Flutter(フラッター)とは(1つのプログラムがAndroidアプリにもiOSアプリにもWebアプリにもなる!) (8:53)
004:Flutterは他のマルチプラットフォームアプリ開発ツールと何が違うのか (15:00)
005:Dart(ダート・Flutterアプリを作るためのプログラミング言語)とは (6:07)
006:なぜGoogleはFlutterを開発したのか(5年先を見据えた大いなる野望?) (11:39)
第1章の確認クイズ
【本編・第2章】<初心者向け>プログラミングの基礎知識を身につけよう
007:オープニング(初心者でない方はこのセクションは飛ばして頂いて構いません) (1:15)
008:スマホとは(歴史・保有台数・市場規模) (5:04)
009:スマホ界の2大巨塔・AndroidとiOS[iphone]との違いとは (3:17)
010:アプリとは(ハードウェアとソフトウェア) (1:06)
011:プログラミングとは (2:12)
012:プログラミング処理の基本<文・関数(メソッド)・クラス> (6:59)
013:プログラミングの3ステップ(ブロック作りと同じ) (2:39)
014:プログラムがアプリになるまでの仕組み(コンパイルとビルド) (4:27)
第2章の確認クイズ
【本編・第3章】Flutterアプリを作るための道具の準備をしよう
015: オープニング(Flutterアプリを作るために必要な道具とは+環境構築Zoomライブサポート会のご案内) (5:03)
016: 【Windows】WindowsでFlutterアプリを作るための道具の説明とGitのインストールをしよう(該当者のみ) (4:39)
016-2: 【Windows】Flutterアプリの開発ツール(SDK)の設定をしよう (3:52)
016-3: 【Windows】Flutterのコマンドラインツールを使えるようにするためのパス通しをしよう (3:48)
017:【Windows】Android Studioのダウンロードとインストールをしよう (4:17)
017-1.5: 【Windows】「Classic UI」を使うための設定をしよう (8:35)
017-2: 【Windows】FlutterがAndroid Studioを正しく認識できるための設定をしよう (6:09)
018:【Windows】Androidアプリをエミュレーターで動かすための設定をしよう(Android Studio) (6:35)
019:【Windows】Androidアプリを実機で動かすための設定をしよう(Android Studio) (3:49)
020:【Mac】Flutterアプリの開発ツール(SDK)の設定をしよう (9:11)
020-2: 【Mac:Appleシリコンのみ】Rosettaのインストールをしよう (3:05)
020-3: 【Mac】Flutterのコマンドラインツールを使えるようにするためのパス通しをしよう (6:06)
020-4: 【Mac】ファンクションキーをデフォルトで使えるように設定しよう (2:31)
020-5: 【Mac:該当者のみ】Homebrewのインストールをしよう (3:54)
020-6: 【Mac:該当者のみ】CocoaPodsとGitのインストールをしよう (2:35)
021:【Mac】Android Studioのダウンロードとインストールをしよう (4:55)
021-1.5: 【Mac】「Classic UI」を使うための設定をしよう (8:35)
022:【Mac】Androidアプリをエミュレーターで動かすための設定をしよう(Android Studio) (7:16)
023:【Mac】Androidアプリを実機で動かすための設定をしよう(Android Studio) (3:01)
024:【Mac】Xcodeのダウンロードとインストールをしよう (2:51)
025:【Mac】iOSアプリをシミュレーターで動かすための設定をしよう(Xcode) (4:31)
026:【Mac】iOSアプリを実機で動かすための設定をしよう(Xcode) (12:31)
027-1: 【Windows・Mac共通】Androidエミュレーターでの日本語入力と音量調節する方法 (1:47)
027-2: 【Mac】iOSシミュレーターでの日本語入力と音量調節する方法 (1:23)
027-3: 【Windows・Mac共通】AndroidのSDKコマンドラインツールをインストールしよう (1:39)
027-4:【Windows・Mac共通】AndroidのSDKプラットフォームを使うためのライセンスに同意しよう (3:42)
027-5:【Windows・Mac共通】Android Studioの初期設定をしよう(Flutter/Dartプラグインのインストール等) (11:05)
027-6: 【Windows・Mac共通】「flutter doctor」して設定ができているか確認しよう (2:43)
【本編・第4章】はじめてのFlutterアプリを作ろう
028:オープニング(今回作るアプリの紹介[はじめてのアプリ]) (1:56)
029:Android Studioで新しいFlutterプロジェクトを作ってみよう (15:30)
030:【初心者向け解説】プロジェクトをWindowsエクスプローラーあるいはMacのFinderで見る方法 (2:34)
030-2:Flutter2.5以降は「flutter_lints」パッケージを無効化しておいてください(理由も説明しています) (7:08)
031:既に作ったプロジェクトを開いてみよう(作りかけのプロジェクトも含む) (2:39)
032:【初心者向け解説】プログラミングの天才に学ぶAndroid Studioに行く前にすべきこと(スマホアプリを作るための3ステップ) (3:41)
033:<資料>設計図(はじめてのアプリ)
034:今回作るアプリの設計図を紙に書こう(はじめてのアプリ) (3:00)
034-2: 【解説】課題アプリのサンプルプロジェクトのダウンロード方法 (7:00)
035:Flutterプロジェクトのフォルダ構造を知ろう(最低限抑えておくべき3兄弟) (13:13)
036:<資料>今回のアプリで使うリソース
037:アプリで使う画像をプロジェクトに取り込もう(小道具のプロジェクトへの取り込み方3ステップ) (9:21)
038:Flutterはどういう順番でコード書いたらええねん6ステップ (8:15)
039:アプリ全体に共通する部分(アプリのルート部分)を実装しよう (8:21)
040:【初心者向け解説】Dartプログラミングはたったの2ステップしかない! (4:59)
041:【初心者向け解説】クラスのインスタンス化(初期化)とは (8:07)
042:【初心者向け解説】Dartにおけるメソッド(関数)の作り方 (13:16)
043:【解説】Widget(ウィジェット)とは (13:35)
044: 「StatefulWidget」を使ってホーム画面の外枠を実装をしよう(import文とは) (9:18)
045:フォルダの階層構造がちゃんと見えるように「Compact Middle Packages」のチェックを外しておこう (2:52)
046:【初心者向け解説】ファイル・クラス・関数(メソッド)等の名前付けの規則 (4:00)
047:【初心者向け解説】プロジェクト内のファイル・フォルダ名の変更の仕方 (1:16)
047-2:【初心者向け解説】ソースコード内の値を検索する方法と値の名前を一括で変更する方法 (2:12)
048:「Scaffold」を使ってホーム画面をマテリアルデザイン仕様にしてアプリバーを設定しよう (13:58)
048-2: Androidエミュレーターをスタンドアロンアプリとして起動させる方法 (2:53)
048-3: 【解説】MaterialAppのtitle属性(main.dart)とAppBarのtitle属性(home_screen.dart)は何が違うのか (8:21)
048-4: 【解説】意図せざる「Hot Reload」が起こってしまうのを止める方法 (4:22)
049:【解説】Material Design(マテリアルデザイン)とは(MaterialAppの謎解き) (13:27)
050:【解説】Widgetの並べ方超基本3パターン (2:53)
051:「Column」を使ってWidgetを縦方向に並べよう (4:05)
052:「Text」を使って文字を表示させよう (5:32)
053:「Center」を使ってWidgetを中央寄せしよう (4:04)
054:「TextField」を使って文字入力欄を設置しよう (5:16)
055:「Image.asset」を使ってプロジェクトに取り込んだ画像を表示させよう (2:25)
055-2: 【解説】Android Studioで手入力せずにパスを入力できる方法(「Copy path/Reference..」の使用) (1:44)
055-3: 【初心者向け解説】パス(path)とは何か (2:54)
056: 「ElevatedButton」を使ってボタンを表示させよう(RaisedButton廃止についての説明あり) (8:18)
057:「Container」を使って画面全体に余白(padding)を作ろう (5:05)
057-2: 【解説】「PlaceHolder」とは (3:58)
058:「SizedBox」を使ってボタンを横幅いっぱいに拡げよう (4:10)
059:「Expanded」を使って画像の縦幅を残り枠いっぱいに拡げよう (3:30)
060:ボタンを押したら文字を表示させる処理を実装しよう(変数の作り方) (7:25)
061:入力欄(TextField)に入れた文字を取得して表示させよう (3:39)
062: 文字がプログラム上で本当に変わっているかどうかを確かめてみよう (1:39)
063:ボタンを押したら画像を表示させる処理を実装しよう (1:41)
064:【解説】Dartにおけるスコープ(変数・関数にアクセスできる[参照できる・使える]範囲) (7:50)
064-2: 【解説】Dartにおける「スコープ」の事例を使った説明 (2:03)
064-3: 【解説】クラスやメンバ(プロパティ・メソッド)の名前の前につく「_(アンダースコア)」の意味は何か (7:33)
064-4: 【初心者向け解説】「変数」とは(インスタンス・オブジェクト・変数・定数の違いは何か) (5:17)
064-5: 【初心者向け解説】Android Studioにおけるグローバル変数とローカル変数の見分け方 (2:27)
064-6: 【初心者向け解説】「$」とは何か(文字列の間に変数を入れる方法) (5:30)
065:「setState」メソッドを使って設定した文字・画像を画面に表示させよう(アプリの状態変化を画面に反映させる) (4:59)
066:【初心者向け解説】プログラミングにおける「=」とは(代入) (4:39)
067: 【初心者向け解説】セミコロン(;)とカンマ(,)とコロン(:)の違い (7:16)
068:アプリを動かす前にプロジェクトを一旦きれいにしよう(flutter clean) (4:01)
068-2: 【解説】「flutter clean」は内部で何をやってみるのか(Flutterプロジェクトのサイズ削減方法) (4:55)
069:ソースコードのフォーマットを整えよう(Reformat File) (4:20)
070:【Windows・Mac共通】作ったアプリをAndroidエミュレーターで動かしてみよう (5:48)
070-2: 【エラー対応】「INSTALL_FAILED_INSUFFICIENT_STORAGE」というエラーが出てAndroidエミュレーターでアプリが動かせない場合の対処法 (2:49)
070-3: 【エラー対応】「ParcelableException:・・・ Requested internal only, but not enough space」というエラーが出てAndroidエミュレーターでアプリが動かせない場合の対処法(エミュレーターのメモリを増やす方法) (3:34)
071:【Windows・Mac共通】作ったアプリをAndroid実機で動かしてみよう (2:23)
071-2: 【Windows・Mac共通(補足)】Android実機でワイアレスデバッグする方法(スマホをPCにケーブルで繋がずにデバッグする方法) (5:57)
072:【Macのみ】作ったアプリをiOSシミュレーターで動かしてみよう (1:54)
073:【Macのみ】作ったアプリをiOS実機で動かしてみよう(素晴らしきマルチプラットフォームの世界) (6:20)
073-2: 【Macのみ(補足)】なぜiOS実機で動かそうとすると毎回Xcodeが開いてしまうのか (4:23)
073-3: 【Macのみ(補足)】iOS実機でワイアレスデバッグする方法(スマホをPCにケーブルで繋がずにデバッグする方法) (2:45)
073-4: 【Macのみ】iOS14以降はデバッグモードでインストールしたアプリは端末から直接起動することはできません (3:39)
074: 【初心者向け解説】再生[Run]モードとデバッグ[Debug]モードの違い+ブレークポイントでアプリを途中で止めて変数の値を確認する方法 (4:02)
074-1.5: 【該当者のみ】ブレークポイントでアプリを止めると同じ名前の編集不能のファイルが開く場合の対処法 (5:31)
074-2: 【初心者向け解説】プログラムを1行ずつ止めながら実行する方法(Step Over / Step Into) (8:51)
075:【初心者向け解説】Flutterアプリを動かす3つのモード(Debugモード / Releaseモード / Profileモード) (4:40)
076:【+α】インターネット上の画像をアプリで表示させてみよう(Image.network) (2:24)
077:【+α】デバッグバナーを非表示にしよう (1:32)
078:【+α】アプリ全体のテーマをダークモードに変更しよう (3:18)
079:【+α】「CupertinoApp」を使ってアプリの見た目をiOS仕様に変えよう (9:32)
080:<資料>今回作ったアプリのプロジェクト(はじめてのアプリ)
第4章の確認クイズ
【本編・第5章】非同期処理と効果音を出すアプリを作ろう(ツッコミマシーン)
081:オープニング(今回作るアプリの紹介[ツッコミマシーン]) (5:33)
082:<資料>今回のアプリの設計図(ツッコミマシーン)
083:今回作るアプリの設計図を紙に書こう(ツッコミマシーン) (2:45)
084:Android Studioで今回作るアプリのプロジェクトを作ろう (5:19)
085:<資料>今回のアプリで使うリソース
086:アプリで使う効果音ファイルをプロジェクトに取り込もう (5:42)
086-2: 【解説】アプリで使うリソースをプロジェクトに取り込む際のpubspec.yamlファイルでの記述上の注意点 (3:18)
087:アプリ全体に共通する部分(アプリのルート部分)を実装しよう(main.dart) (5:52)
088:【解説】runApp関数とは (3:33)
089:【初心者向け解説】クラスの継承(extends)とメソッドのオーバーライド(override)とは (11:13)
090:【初心者向け解説】「ご先祖様」に「子孫」を代入するのはOK(プログラミングにおける「=」とは[完全版]) (2:42)
091:「StatefulWidget」を使ってホーム画面の外枠を実装をしよう(home_screen.dart) (3:45)
092:「Scaffold」を使ってホーム画面をマテリアルデザイン仕様にしてアプリバー(AppBar)を設定しよう (5:57)
093:「Column」と「Row」を使ってボタンを3行2列の碁盤の目に並べよう (9:20)
094:「Expanded」と「flex」を使って碁盤の目を画面いっぱいに均等に並べよう (5:39)
095:「CrossAxisAlignment」を使ってボタンの大きさを枠いっぱいに拡げよう (5:56)
096:「Container.padding」を使って画面全体と各枠内のボタンに余白(padding)を作ろう (5:11)
097:【初心者向け解説】「List(配列)」とジェネリクス(総称型)とは (11:09)
098:「List」を使って6つのボタンに表示させる文字をセットしよう (8:14)
098-2:【初心者向け解説】関数・メソッドの引数の名前が何でもいいのはなぜか?(引数を入れる(渡す)とはどういうことなのか?) (4:21)
099: 【解説】「パッケージ(package)」とは (4:23)
100: 【解説】Flutterアプリで音(効果音・BGM)を出す方法(just_audioパッケージの使い方(パターン①:一番シンプルな使い方)) (9:46)
101: 「just_audio」パッケージをプロジェクトに追加しよう(パッケージを使うための2ステップ) (12:53)
101-2: 【Android】64K参照制限回避のための「multiDex」有効化設定をしよう(just_audioのバージョン0.9.20以降) (9:45)
101-3: 【iOS&Appleシリコン(M1・M2)のMacのみ】「LoadError - dlopen・・・」エラーを回避するための設定をしよう (5:53)
102: 【解説】pubspec.yamlファイルとは (6:00)
103: 【解説】pubspec.lockファイルとパッケージのアップグレードとダウングレード方法 (4:17)
104: 【解説】パッケージのバージョンを指定する際に出てくる「^」とは何者なのか(バージョンコード付与の原則(Sementic Versioning)と「caret syntax」) (9:06)
104-2: 【解説】Flutter/Dartにおけるパッケージ(package)・プラグイン(plugin)・ライブラリ(library)の違いとは (9:33)
105: 【解説】なぜAudioPlayerのインスタンスは使い終わったら破棄しないといけないのか(メモリの話) (5:06)
105-2: 【解説】StatefulWidgetはどうやって状態管理をしているのか (8:18)
106: AudioPlayerクラス(just_audioパッケージ)の初期化と破棄の実装をしよう (6:49)
107: 【解説】なぜAudioPlayerの宣言文の先頭に「late」をつける必要があるのか(Null Safetyとは) (13:45)
107-2: 【解説】initState及びdisposeメソッド内で処理を書く際の注意点 (9:21)
107-3: 【解説】「assert」とは (5:02)
108: 効果音ファイルのパス(Path)をセットしよう (10:03)
109: 【初心者向け解説】ビルト・イン型クラスとは(Dartにおける2種類のクラス) (11:10)
110: 【解説】非同期処理(async-await)とは (8:30)
111: 【解説】「Future」とは (8:27)
112: 【解説】Dartでの非同期処理の使い方3原則 (10:42)
113:ボタンを押したら効果音を鳴らす処理を実装しよう (7:10)
113-1A: 【解説】「just_audio」のバージョン0.10.x以降に潜む「setAsset」メソッドのワナ (8:38)
113-2: 【解説】時間のかかる非同期処理であるsetAssetの前に「await」をつけなくても音が鳴ったのはなぜか(playメソッドの謎解き) (5:24)
114: 【解説】複数の音を同時に鳴らす方法(just_audioパッケージの使い方:パターン②) (3:07)
114-2: 複数の音を同時に鳴らせるようにパターン①のプロジェクトを変更しよう (8:03)
114-3: 【+α】「DateTime#difference」を使って音が鳴るまでのタイムラグを計測してみよう (6:39)
115: 【解説】ボタンを押してから音が鳴るまでのタイムラグをなくす方法(just_audioパッケージの使い方:パターン③) (3:22)
115-2: ボタンを押してから音が鳴るまでのタイムラグをなくせるようにパターン①のプロジェクトを変更しよう (3:34)
115-3: 【解説】initStateで非同期処理をするとなぜエラーになるのか (3:38)
115-4: initStateで非同期処理ができるようにしてアプリを動かしてみよう (3:33)
115-5: 【解説】なぜ2回目のボタン押下時には音が鳴らなかったのか (4:40)
115-6: ボタンを複数回押しても音が鳴るようにしよう(AudioPlayer#seekメソッド) (3:35)
116:【初心者向け解説】エラーはどこでわかるのか(プログラミングにおける3種類のエラー) (6:28)
117: 【初心者向け解説】「空っぽ(null)」と「空白("")」の違いとは (2:31)
118: 【解説】StatefulWidgetはなぜStateオブジェクトと別クラスで分離されているのか(Widgetの本当の正体とは) (12:28)
119: 【解説】Flutterとネイティブアプリ開発(Android/iOS)の状態管理方法比較 (6:35)
119-2: 【解説】「Flutter Gems」を使ったパッケージの見つけ方 (4:19)
119-3: 【+α:解説】pub devに公開されているパッケージの挙動確認方法(exampleモジュールにあるサンプルアプリの実行方法) (7:10)
120:【+α】ElevatedButtonをカスタマイズしてみよう(ElevatedButton.styleFromメソッドを使って) (12:21)
120-2: 【解説】Flutter3.3以降はElevatedButton.styleFromの「primary」「onPrimary」属性が非推奨になりました (3:57)
121:【+α:解説】今回の課題アプリでNull許容を適用したらどうなるか(安全呼び出し(?)と「!」演算子の実例) (3:59)
121-2: 【+α:解説】「!」演算子で強制アクセスして空っぽだった場合に何が起こるのか(Null check operator called on a null value) (3:44)
122:<資料>今回作ったアプリのプロジェクト(ツッコミマシーン)
第5章の確認クイズ
【本編・第6章】複数の画面を持つアプリを作ろう(計算脳トレ)
123:オープニング(今回作るアプリの紹介[計算脳トレ]) (5:43)
124:<資料>今回の作るアプリの設計図(計算脳トレ)
125:今回作るアプリの設計図を紙に書こう(計算脳トレ) (4:48)
126:Android Studioで今回作るアプリのプロジェクトを作ろう (4:52)
127:<資料>今回のアプリで使うリソース
128:アプリで使うリソース(画像・音)をプロジェクトに取り込もう (3:38)
129:アプリ全体に共通する部分(アプリのルート部分)を実装しよう(main.dart) (4:38)
130:[ホーム画面]外枠を実装をしよう(home_screen.dart) (3:45)
131:[ホーム画面]「SafeArea」を使ってアプリバー(AppBar)無しのレイアウトに変えよう (3:15)
132:[ホーム画面]「Column」を使ってWidgetを縦方向に並べよう (6:09)
133:[ホーム画面]「Expanded」と「Container」を使ってボタンを画面最下部中央に設置しよう (5:35)
134:[ホーム画面]「ElevatedButton.icon」を使ってボタンにアイコンをつけて見た目をカスタマイズしよう (5:44)
135:【初心者向け解説】マテリアルアイコンとは (4:08)
136:【解説】Flutterアプリにおける画面・文字の大きさの単位とは(物理ピクセルと論理ピクセル) (13:13)
137:【+α】「MediaQuery.of」メソッドを使って画面のサイズ(論理ピクセル)を取得しよう (2:30)
137-2: 【+α:解説】「MediaQuery」とは (4:22)
137-3: 【+α:解説】Flutter3.10より導入された「MediaQuery.sizeOf」等について(MediaQueryのInheritedModel化) (9:32)
137-4: 【+α:解説】動かしているアプリのWidgetの状況を確認する方法(「Flutter Inspector(Dev Tools)」の基本的な使い方) (7:22)
137-5: 【+α:解説】画面サイズの異なる端末の見た目を1つの端末で確認する方法(「device_preview」パッケージの使い方) (10:08)
138:【解説】「DropdownButton」の使い方3ステップ (2:07)
139:[ホーム画面]「SizedBox」を使ってWidget間に空白を設定しよう (6:02)
140:[ホーム画面]「DropdownMenuItem」を使って「DropdownButton」に表示させる選択肢をセットしよう(items属性) (9:43)
141:【+α】「Cascade Notation(..)」を使ってコードをシンプルにしよう (3:17)
142:[ホーム画面]「DropdownButton」で選択されたアイテムをセットしよう(value属性) (6:56)
143:【解説】なぜ「value」の後ろに「!」をつける必要があるのか(安全呼び出し(?)と「!」演算子とは) (8:05)
144:[ホーム画面]「DropdownButton」でアイテムが選択された時の処理を実装しよう(onChanged属性) (4:52)
145:【解説】onPressed/onChanged属性の中身はどうなっているのか (8:03)
145-2: 【解説】onPressed属性の「() =>」を忘れると何が起こるのか(setState() or markNeedsBuild() called during build) (6:53)
145-3: 【解説】onChanged属性に設定する関数の引数は誰がいつ渡しているのか(コールバック関数とは) (4:29)
145-4:【解説】「ValueChanged<T?>?(DropdownButton#onChanged属性)」にはなぜ「?」が2つあるのか? (3:21)
146:【解説】Flutterにおける画面遷移の方法(NavigatorとMaterialPageRoute) (8:27)
147:[ホーム画面]スタートボタンをクリックしてテスト画面を開く処理を実装しよう (7:18)
147-2: 【解説】Stateクラス(StafulWidgetの面倒を見る育ての親)ではBuildContextがどこでも使えるのはなぜか (6:56)
148:[ホーム画面・テスト画面]名前付きパラメータ(Named Parameter)を使って選択した問題数をホーム画面からテスト画面に渡そう (8:18)
149: 【解説】「required」の意味とは(Flutter2.0以降は「@required」が「required」に変更されました) (3:59)
149-2: 【解説】名前付き引数(パラメータ)とは(Named Parameters) (9:28)
150:【初心者向け解説】Flutterにおける2つの定数(「const」と「final」) (6:22)
150-2: 【初心者向け解説】「const」と「final」の違いをコードを使って説明 (3:03)
151:【初心者向け解説】「this」とは (6:57)
152:「const」を使って描画パフォーマンスを向上させよう(Flutter Performanceの使い方) (11:35)
153:【初心者向け解説】どこからでもインスタンスを経由せずに直接使えるメンバを作る2つの方法(「top-level」と「static」) (9:53)
153-2: 【初心者向け解説】「static」の解説②(「静的」と「動的」/「インスタンス変数」と「クラス変数」の違いとは) (8:21)
153-3: 【解説】トップレベル(top-level)メンバ使用上の注意点(意図せざるしてアプリが落ちるトラップが起こる可能性あり) (7:21)
154:[テスト画面]画面全体のレイアウトの枠組みを作ろう(SafeArea/Container/Column) (6:37)
155:[テスト画面]「Table」と「Center」を使ってスコア表示部分を実装しよう (13:27)
156:[テスト画面]問題表示部分を実装しよう(Expandedとflex/Container) (12:17)
157:[テスト画面]こたえ合わせボタン部分を実装しよう(ElevatedButton/SizedBox/Container) (3:35)
157-2: 【解説】「Hot Reload」と「Hot Restart(ゲジゲジor再生ボタン)」の違いとは (7:31)
157-3: 【解説】「Hot Restart」時にbuildメソッドが2回回っても気にする必要なし (4:32)
158:[テスト画面]もどるボタン部分を実装しよう(ElevatedButton/SizedBox/Container) (3:04)
159:[テスト画面]電卓ボタン部分を実装しよう(Table/Container) (8:29)
160:[テスト画面]「Stack」を使って○・☓画像とテスト終了テキスト部分のWidgetを積み重ねよう (7:39)
161:【初心者向け解説】条件分岐の「if文」と比較演算子(プログラミングは3つの流れ) (8:01)
162:[テスト画面]テスト開始前の初期設定をしよう(①:ホーム画面で選択した問題数の引き継ぎ) (6:01)
163:[テスト画面]テスト開始前の初期設定をしよう(②:効果音の準備) (9:40)
164:[テスト画面]出題処理を実装しよう(①:出題時の初期設定) (6:16)
164-2: 【初心者向け解説】if(bool型の値)はif(bool型の値 == true)と同じ意味 (1:19)
164-3: 【初心者向け解説】if(!bool型の値)はif(bool型の値 == false)と同じ意味(Dartにおける2つの「!」) (4:19)
165:[テスト画面]出題処理を実装しよう(②:乱数(Random)を使って出題) (6:45)
165-2: 【初心者向け解説】setStateメソッドの「中」で処理を書く場合と「外」で書くのでは何が違うのか(setStateメソッド使用上の留意点) (5:32)
166:[テスト画面]電卓ボタンを押す処理を実装しよう (11:20)
167:[テスト画面]こたえ合わせ処理を実装しよう(①:初期設定) (4:52)
168:【初心者向け解説】三項条件演算子(conditional expressions)とは(?/:) (3:27)
169:[テスト画面]こたえ合わせ処理を実装しよう(②:正解判定) (7:19)
169-2: [テスト画面]こたえ合わせ処理を実装しよう(②-2:正解判定時に効果音追加) (4:10)
170:[テスト画面]こたえ合わせ処理を実装しよう(③:正答率の計算) (3:36)
171:[テスト画面]こたえ合わせ処理を実装しよう(④:終了判定) (2:28)
172:[テスト画面]こたえ合わせ処理を実装しよう(⑤:「Timer」を使って1秒後に次の問題を出題) (2:53)
173:<資料>次のレクチャー(タイマー処理の解説)で使うプロジェクト
174:【解説】タイマー処理(Timer)とは (10:44)
174-2: 【解説】「Duration」クラスとは (4:23)
175:[テスト画面]もどるボタンを押したらホーム画面に戻る処理を実装しよう(Navigator.popメソッド) (6:41)
176:【+α:解説】今回の課題アプリでNull許容を適用したらどうなるか(安全呼び出し(?)と「!」演算子の実例) (1:45)
177:<資料>今回作ったアプリのプロジェクト(計算脳トレ)
第6章の確認クイズ
【本編・第7章】データベースを使うアプリを作ろう(私だけの単語帳:前編)
178:オープニング(今回作るアプリの紹介[私だけの単語帳]) (8:27)
179:<資料>今回の作るアプリの設計図(私だけの単語帳)
180:今回作るアプリの設計図を紙に書こう(私だけの単語帳) (8:07)
181:Android Studioで今回作るアプリのプロジェクトを作ろう (5:12)
182:<資料>今回の作るアプリのリソース
183:アプリで使うリソース(画像)をプロジェクトに取り込もう (4:16)
184:アプリ全体に共通する部分(アプリのルート部分)を実装しよう (3:17)