自動再生
オートコンプリート
スピード
1つ前のレクチャー
このレクチャーを完了し次に進む
ゼロからのFlutter【質問対応無し版】
【本編・序章】オープニング
001:<資料>この講座のスライド解説資料+カリキュラム一覧ページをブックマークしておいて下さい
002:オープニング(みんプロ式へようこそ!+講座内容に不具合があることを発見された場合+講座内容にご満足頂けなかった場合の返金方法について) (4:45)
【本編・第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)
【本編・第2章】<初心者向け>プログラミングの基礎知識を身につけよう
007:オープニング(初心者でない方はこのセクションは飛ばして頂いて構いません) (1:15)
008:スマホとは(歴史・保有台数・市場規模) (5:04)
009:スマホ界の2大巨塔・AndroidとiOS[iphone]との違いとは (3:17)
010:アプリとは(ハードウェアとソフトウェア) (1:06)
011:プログラミングとは (2:12)
012:プログラミング処理の基本<文・関数(メソッド)・クラス> (6:11)
013:プログラミングの3ステップ(ブロック作りと同じ) (2:39)
014:プログラムをアプリになるまでの仕組み(コンパイルとビルド) (4:27)
【本編・第3章】Flutterアプリを作るための道具の準備をしよう
015:オープニング(Flutterアプリを作るために必要な道具とは) (3:47)
016:【Windows】Flutterアプリの開発ツール(SDK)の設定をしよう (7:50)
017:【Windows】Android Studioのダウンロードとインストールをしよう (2:45)
018:【Windows】Androidアプリを実機で動かすための設定をしよう(Android Studio) (3:10)
019:【Windows】Androidアプリをエミュレーターで動かすための設定をしよう(Android Studio) (4:08)
020:【Mac】Flutterアプリの開発ツール(SDK)の設定をしよう (8:47)
021:【Mac】Android Studioのダウンロードとインストールをしよう (3:13)
022:【Mac】Androidアプリを実機で動かすための設定をしよう(Android Studio) (2:40)
023:【Mac】Androidアプリをエミュレーターで動かすための設定をしよう(Android Studio) (10:50)
024:【Mac】Xcodeのダウンロードとインストールをしよう (2:51)
025:【Mac】iOSアプリを実機で動かすための設定をしよう(Xcode) (8:36)
026:【Mac】iOSアプリをシミュレーターで動かすための設定をしよう(Xcode) (2:27)
027:【Windows・Mac共通】Android Studioの初期設定をしよう(Flutter/Dartプラグインのインストール等) (7:55)
【本編・第4章】はじめてのFlutterアプリを作ろう
028:オープニング(今回作るアプリの紹介[はじめてのアプリ]) (1:56)
029:Android Studioで新しいFlutterプロジェクトを作ってみよう (7:13)
030:【初心者向け解説】プロジェクトをWindowsエクスプローラーあるいはMacのFinderで見る方法 (1:38)
031:既に作ったプロジェクトを開いてみよう(作りかけのプロジェクトも含む) (1:51)
032:【初心者向け解説】プログラミングの天才に学ぶAndroid Studioに行く前にすべきこと(スマホアプリを作るための3ステップ) (3:41)
033:<資料>設計図(はじめてのアプリ)
034:今回作るアプリの設計図を紙に書こう(はじめてのアプリ) (3:00)
035:Flutterプロジェクトのフォルダ構造を知ろう(最低限抑えておくべき3兄弟) (11:21)
036:<資料>今回のアプリで使うリソース
037:アプリで使う画像をプロジェクトに取り込もう(小道具のプロジェクトへの取り込み方3ステップ) (6:38)
038:Flutterはどういう順番でコード書いたらええねん6ステップ (8:15)
039:アプリ全体に共通する部分(アプリのルート部分)を実装しよう (6:20)
040:【初心者向け解説】Dartプログラミングはたったの2ステップしかない! (4:59)
041:【初心者向け解説】クラスのインスタンス化(初期化)とは (8:07)
042:【初心者向け解説】Dartにおけるメソッド(関数)の作り方 (8:53)
043:【解説】Widget(ウィジェット)とは (13:35)
044:「StatefulWidget」を使ってホーム画面の外枠を実装をしよう (6:22)
044-2:フォルダの階層構造がちゃんと見えるように「Compact Middle Packages」のチェックを外しておこう (2:52)
045:【初心者向け解説】ファイル・クラス・関数(メソッド)等の名前付けの規則 (4:00)
046:【初心者向け解説】プロジェクト内のファイル・フォルダ名の変更の仕方 (1:16)
047:「Scaffold」を使ってホーム画面をマテリアルデザイン仕様にしてアプリバーを設定しよう (9:05)
048:【解説】Material Design(マテリアルデザイン)とは(MaterialAppの謎解き) (13:27)
049:【解説】Widgetの並べ方超基本3パターン (2:53)
050:「Column」を使ってWidgetを縦方向に並べよう (3:45)
051:「Text」を使って文字を表示させよう (5:32)
052:「Center」を使ってWidgetを中央寄せしよう (4:04)
053:「TextField」を使って文字入力欄を設置しよう (5:16)
054:「Image.asset」を使ってプロジェクトに取り込んだ画像を表示させよう (2:25)
055:「ElevatedButton」を使ってボタンを表示させよう (5:11)
056:「Container」を使って画面全体に余白(padding)を作ろう (5:05)
057:【解説】Flutter Outlineの基本的な使い方 (3:11)
058:「SizedBox」を使ってボタンを横幅いっぱいに拡げよう (4:10)
059:「Expanded」を使って画像の縦幅を残り枠いっぱいに拡げよう (3:30)
060:ボタンを押したら文字を表示させる処理を実装しよう(変数の作り方) (6:44)
061:入力欄(TextField)に入れた文字を取得して表示させよう (3:39)
062:ボタンを押したら画像を表示させる処理を実装しよう (1:41)
063:【解説】Dartにおけるスコープ(変数・関数にアクセスできる[参照できる・使える]範囲) (7:17)
064:「setState」メソッドを使って設定した文字・画像を画面に表示させよう(アプリの状態変化を画面に反映させる) (4:59)
065:【初心者向け解説】プログラミングにおける「=」とは(代入) (4:39)
066:アプリを動かす前にプロジェクトを一旦きれいにしよう(flutter clean) (2:39)
067:ソースコードのフォーマットを整えよう(Reformat File) (1:23)
068:【Windows・Mac共通】作ったアプリをAndroidエミュレーターで動かしてみよう (3:28)
069:【Windows・Mac共通】作ったアプリをAndroid実機で動かしてみよう (2:23)
070:【Macのみ】作ったアプリをiOSシミュレーターで動かしてみよう (1:54)
071:【Macのみ】作ったアプリをiOS実機で動かしてみよう(素晴らしきマルチプラットフォームの世界) (3:09)
072-1:【初心者向け解説】再生ボタン[Run]とゲジゲジボタン[Debug]の違い(実は両方ともFlutterではデバッグ[Debug]モード) (4:02)
072-2:【初心者向け解説】Flutterアプリを動かす3つのモード(Debugモード / Releaseモード / Profileモード) (4:15)
073:【+α】インターネット上の画像をアプリで表示させてみよう(Image.network) (2:24)
074:【+α】デバッグバナーを非表示にしよう (1:32)
075:【+α】アプリ全体のテーマをダークモードに変更しよう (2:14)
076:【+α】「CupertinoApp」を使ってアプリの見た目をiOS仕様に変えよう (8:07)
077:<資料>今回作ったアプリのプロジェクト(はじめてのアプリ)
【本編・第5章】非同期処理と効果音を出すアプリを作ろう(ツッコミマシーン)
078:オープニング(今回作るアプリの紹介[ツッコミマシーン]) (1:40)
079:<資料>今回のアプリの設計図(ツッコミマシーン)
080:今回作るアプリの設計図を紙に書こう(ツッコミマシーン) (2:45)
081:Android Studioで今回作るアプリのプロジェクトを作ろう (3:31)
082:<資料>今回のアプリで使うリソース
083:アプリで使う効果音ファイルをプロジェクトに取り込もう (4:45)
084:アプリ全体に共通する部分(アプリのルート部分)を実装しよう(main.dart) (5:52)
085:【解説】runApp関数とは (3:33)
086:【初心者向け解説】クラスの継承(extends)とメソッドのオーバーライド(override)とは (11:13)
087:【初心者向け解説】「ご先祖様」に「子孫」を代入するのはOK(プログラミングにおける「=」とは[完全版]) (2:42)
088:「StatefulWidget」を使ってホーム画面の外枠を実装をしよう(home_screen.dart) (3:45)
089:「Scaffold」を使ってホーム画面をマテリアルデザイン仕様にしてアプリバー(AppBar)を設定しよう (4:15)
090:「Column」と「Row」を使ってボタンを3行2列の碁盤の目に並べよう (7:57)
091:「Expanded」と「flex」を使って碁盤の目を画面いっぱいに均等に並べよう (5:39)
092:「CrossAxisAlignment」を使ってボタンの大きさを枠いっぱいに拡げよう (5:56)
093:「Container.padding」を使って画面全体と各枠内のボタンに余白(padding)を作ろう (10:22)
094:【初心者向け解説】「List(配列)」とジェネリクス(総称型)とは (11:44)
095:「List」を使って6つのボタンに表示させる文字をセットしよう (7:50)
096:【初心者向け解説】メモリとは(音のメモリ再生(ダウンロード再生)とストリーミング再生の違い) (8:43)
097:【解説】Flutterアプリで効果音を出す方法5ステップ(soundPoolパッケージの使い方) (5:38)
098:soundPoolパッケージをプロジェクトに追加しよう(パッケージを使うための2ステップ) (6:08)
099:【解説】pubspecファイル(yaml / lock)とパッケージのアップグレード・ダウングレード方法 (10:17)
100:【解説】StatefulWidgetはどうやって状態管理をしているのか (8:23)
101:SoundPoolクラスの初期化と破棄の実装をしよう (6:31)
102:効果音のサウンドIDをセットしよう (4:44)
103:【初心者向け解説】ビルト・イン型クラスとは(Dartにおける2種類のクラス) (11:10)
104:【解説】非同期処理(async-await)とは (8:13)
105:【解説】「Future」とは (8:27)
106:【解説】Dartでの非同期処理の使い方3原則 (10:42)
107:プロジェクトに取り込んだ効果音ファイルをメモリにロードしよう(rootBundle#load) (9:53)
108:【解説】プロジェクトに取り込んだデータ(assets)のロード方法(rootBundleとは) (11:32)
109:ボタンを押したら効果音を鳴らす処理を実装しよう (2:38)
110:initStateで非同期処理ができるようにしてアプリを動かしてみよう (8:20)
111:【初心者向け解説】「空っぽ(null)」と「空白("")」の違いとは (2:32)
112:【初心者向け解説】エラーはどこでわかるのか(プログラミングにおける3種類のエラー) (6:28)
113:【解説】StatefulWidgetはなぜStateオブジェクトと別クラスで分離されているのか(Widgetの本当の正体とは) (12:28)
114:【解説】Flutterとネイティブアプリ開発(Android/iOS)の状態管理方法比較 (6:35)
115:【+α】非同期処理に例外処理を実装してみよう (5:38)
116:【+α】RaisedButtonをカスタマイズしてみよう (11:08)
<資料>今回作ったアプリのプロジェクト(ツッコミマシーン)
【本編・第6章】複数の画面を持つアプリを作ろう(計算脳トレ)
118:オープニング(今回作るアプリの紹介[計算脳トレ]) (5:43)
119:<資料>今回の作るアプリの設計図(計算脳トレ)
120:今回作るアプリの設計図を紙に書こう(計算脳トレ) (4:48)
121:Android Studioで今回作るアプリのプロジェクトを作ろう (2:31)
122:<資料>今回のアプリで使うリソース
123:アプリで使うリソース(画像・音)をプロジェクトに取り込もう (3:38)
124:アプリ全体に共通する部分(アプリのルート部分)を実装しよう(main.dart) (4:38)
125:[ホーム画面]外枠を実装をしよう(home_screen.dart) (3:45)
126:[ホーム画面]「SafeArea」を使ってアプリバー(AppBar)無しのレイアウトに変えよう (3:15)
127:[ホーム画面]「Column」を使ってWidgetを縦方向に並べよう (4:22)
128:[ホーム画面]「Expanded」と「Container」を使ってボタンを画面最下部中央に設置しよう (5:35)
129:[ホーム画面]「ElevatedButton.icon」を使ってボタンにアイコンをつけて見た目をカスタマイズしよう (6:30)
130:【初心者向け解説】マテリアルアイコンとは (4:08)
131:【解説】Flutterアプリにおける画面・文字の大きさの単位とは(物理ピクセルと論理ピクセル) (13:13)
132:【+α】「MediaQuery.of」メソッドを使って画面のサイズ(論理ピクセル)を取得しよう (2:30)
133:【解説】「DropdownButton」の使い方3ステップ (2:07)
134:[ホーム画面]「SizedBox」を使ってWidget間に空白を設定しよう (4:18)
135:[ホーム画面]「DropdownMenuItem」を使って「DropdownButton」に表示させる選択肢をセットしよう(items属性) (6:51)
136:【+α】「Cascade Notation(..)」を使ってコードをシンプルにしよう (3:17)
137:[ホーム画面]「DropdownButton」で選択されたアイテムをセットしよう(value属性) (5:26)
138:[ホーム画面]「DropdownButton」でアイテムが選択された時の処理を実装しよう(onChanged属性) (2:23)
139:【解説】onPressed/onChanged属性の中身はどうなっているのか (8:03)
140:【解説】Flutterにおける画面遷移の方法(NavigatorとMaterialPageRoute) (8:27)
141:[ホーム画面]スタートボタンをクリックしてテスト画面を開く処理を実装しよう (7:18)
142:[ホーム画面・テスト画面]名前付きパラメータ(Named Parameter)を使って選択した問題数をホーム画面からテスト画面に渡そう (7:25)
143-1:【初心者向け解説】Flutterにおける2つの定数(「const」と「final」) (6:22)
143-2:【初心者向け解説】「this」とは (3:26)
144:「const」を使って描画パフォーマンスを向上させよう(Flutter Performanceの使い方) (10:44)
145:【初心者向け解説】どこからでもインスタンスを経由せずに直接使えるメンバを作る2つの方法(「top-level」と「static」) (9:53)
146:[テスト画面]画面全体のレイアウトの枠組みを作ろう(SafeArea/Container/Column) (6:37)
147:[テスト画面]「Table」と「Center」を使ってスコア表示部分を実装しよう (11:06)
148:[テスト画面]問題表示部分を実装しよう(Expandedとflex/Container) (12:17)
149:[テスト画面]こたえ合わせボタン部分を実装しよう(RaisedButton/SizedBox/Container) (3:09)
150:[テスト画面]もどるボタン部分を実装しよう(RaisedButton/SizedBox/Container) (2:44)
151:[テスト画面]電卓ボタン部分を実装しよう(Table/Container) (7:56)
152:[テスト画面]「Stack」を使って○・☓画像とテスト終了テキスト部分のWidgetを積み重ねよう (7:39)
153:【初心者向け解説】条件分岐の「if文」と比較演算子(プログラミングは3つの流れ) (8:01)
154:[テスト画面]テスト開始前の初期設定をしよう(①:ホーム画面で選択した問題数の引き継ぎ) (6:01)
155:[テスト画面]テスト開始前の初期設定をしよう(②:効果音の準備) (11:23)
156:[テスト画面]出題処理を実装しよう(①:出題時の初期設定) (6:16)
157:[テスト画面]出題処理を実装しよう(②:乱数(Random)を使って出題) (6:45)
158:[テスト画面]電卓ボタンを押す処理を実装しよう (11:20)
159:[テスト画面]こたえ合わせ処理を実装しよう(①:初期設定) (4:52)
160:【初心者向け解説】三項条件演算子とは(?/:) (3:27)
161:[テスト画面]こたえ合わせ処理を実装しよう(②:正解判定) (9:09)
162:[テスト画面]こたえ合わせ処理を実装しよう(③:正答率の計算) (3:36)
163:[テスト画面]こたえ合わせ処理を実装しよう(④:終了判定) (2:28)
164:[テスト画面]こたえ合わせ処理を実装しよう(⑤:「Timer」を使って1秒後に次の問題を出題) (2:53)
165:<資料>次のレクチャー(タイマー処理の解説)で使うプロジェクト
166:【解説】タイマー処理(Timer)とは (10:44)
167:[テスト画面]もどるボタンを押したらホーム画面に戻る処理を実装しよう(Navigator.popメソッド) (6:41)
168:<資料>今回作ったアプリのプロジェクト(計算脳トレ)
【本編・第7章】データベースを使うアプリを作ろう(私だけの単語帳)
169:オープニング(今回作るアプリの紹介[私だけの単語帳]) (6:52)
170:<資料>今回の作るアプリの設計図(私だけの単語帳)
171:今回作るアプリの設計図を紙に書こう(私だけの単語帳) (8:07)
172:Android Studioで今回作るアプリのプロジェクトを作ろう (2:39)
173:<資料>今回の作るアプリのリソース
174:アプリで使うリソース(画像)をプロジェクトに取り込もう (4:16)
175:アプリ全体に共通する部分(アプリのルート部分)を実装しよう (3:17)
176:[ホーム画面]外枠の実装をしよう(アプリバー無しのマテリアルデザイン仕様) (2:26)
177:[ホーム画面]画面全体のレイアウトの枠組みを作ろう (5:03)
178:カスタムフォントの設定をしよう(カスタムフォントの使い方4ステップ) (8:37)
179:「Divider」を使って横線を引こう (3:55)
180:「VoidCallback」を使ってボタンをカスタムウィジェットで作ろう (12:02)
181:<資料>次のレクチャー(VoidCallbackの解説)で使うプロジェクト
182:【解説】「VoidCallback」とは何か (6:12)
183:【解説】ラジオボタン(RadioListTile)の使い方4ステップ (6:31)
184:[ホーム画面]ラジオボタンの表示部分を実装しよう(title属性) (3:13)
185:[ホーム画面]ラジオボタンにセットする値を設定しよう(value/groupValue属性) (2:42)
186:[ホーム画面]ラジオボタンが選択されたときの処理を実装しよう(onChanged属性) (5:33)
187:[ホーム画面]単語一覧画面に遷移する処理を実装しよう (4:41)
188:[ホーム画面]テスト画面に遷移する処理を実装しよう (4:45)
189:【解説】「BuildContext」とは (15:01)
190:「AppBar」を使えば前の画面に戻る処理を実装する必要がない! (5:15)
191:[一覧画面]「FloatingActionButton」を使って編集画面に遷移する処理を実装しよう (10:44)
192:[編集画面]問題入力部分を実装しよう (6:32)
193:[編集画面]こたえ入力部分を実装しよう (1:46)
194:[編集画面]「SingleChildScrollView」を使ってコンテンツが画面からはみ出さないようにしよう (3:09)
195:[編集画面]「WillPopScope」を使って一覧画面に戻る処理を実装しよう (6:49)
196:【初心者向け解説】データベース(Database:DB)とは (5:53)
197:【解説】Flutter/Dartで使えるデータベースライブラリ「Moor」とは (6:07)
198:【解説】データベースライブラリ「Moor」の使い方9ステップ (12:56)
198-2:【解説】pubspec.yamlファイルにおける「dependencies」と「dev_dependencies」の違いとは (5:37)
199:Moorパッケージをプロジェクトに追加しよう(Moorの使い方9ステップ①) (6:51)
200:コード生成用ファイルとテーブルクラスの設定をしよう(Moorの使い方9ステップ②③) (6:11)
201:【解説】SQLiteで使えるデータの型とテーブルクラスのコードの解説 (6:13)
202:【初心者向け解説】「Set」とは (3:25)
203:【初心者向け解説】「get」とは (5:12)
204:データベースクラスの設定をしよう(Moorの使い方9ステップ④) (5:28)
205:【解説】Dartにおける7つのコンストラクタ(「:」の謎解き) (10:53)
205-2:【解説】「const」キーワードのややこしさ(コンストラクタを「作る」場面(クラスの設計図)と「使う」場面(インスタンスの生成)で意味合いが異なる) (6:21)
206:flutterコマンドを使ってMoor用のコードを生成しよう(Moorの使い方9ステップ⑤) (3:00)
206-2:【エラー対応】コード生成が失敗(無限ループ)する場合の対処法(Bad state: Unexpected diagnostics: sky_engine\lib\ui\channel_buffers.dart - This requires the 'non-nullable' language feature to be enabled) (3:15)
207:データベースのスキーマバージョンを設定しよう(Moorの使い方9ステップ⑥) (1:06)
208:【解説】「annotation:アノテーション(@)」とは (4:43)
209:データベースの4つの操作メソッド(クエリ)を作成しよう(Moorの使い方9ステップ⑦) (8:16)
210:【解説】Moorにおけるデータベース4つの操作メソッド(CRUD)の解説 (12:20)
211:データベースクラスのインスタンスを設定しよう(Moorの使い方9ステップ⑧) (3:01)
212:[編集画面]新しい単語をデータベースに登録する処理を実装しよう(Moorの使い方9ステップ⑨) (8:58)
212-2:【エラー対応】moor_ffi not found/Failed to load dynamic libraryというエラーが出た場合の対処法 (4:04)
213:【解説】端末にインストールされているSQLiteデータベースの中身を見る方法(DB Browser for SQLiteの使い方) (5:05)
214:[編集画面]トーストメッセージ(Toast)を使って登録完了メッセージを表示させよう (4:06)
215:[編集画面]例外処理を使って単語を重複して登録しようとした際にエラーメッセージを表示させよう(Moorで重複データをチェックする方法) (5:39)
216:[一覧画面]データベースに登録した単語データを取得する処理を実装しよう (5:17)
217:【解説】ListViewの使い方5ステップ (4:45)
218:[一覧画面]「ListView」を使って単語の一覧リスト部分を実装しよう (4:46)
219:[一覧画面]「Card」と「ListTile」を使って単語の一覧リスト部分を実装しよう (9:49)
220:[一覧画面]一覧に表示された単語を長押ししたら削除する処理を実装しよう (5:18)
221:「enum(列挙型)」を使って編集ステータスの設定をし、編集画面のコンストラクタを修正しよう (5:27)
222:[一覧画面]一覧に表示された単語をタップしたときに編集画面に遷移する処理を実装しよう (2:58)
223:[編集画面]一覧画面から渡された値を引き継ごう (7:18)
224:[編集画面]一覧画面で選択した単語を修正する処理を実装しよう (6:37)
225:データベースにフィールド(暗記済みフラグ)を追加し変更を反映させよう (7:51)
226:既に端末にインストールされている旧バージョンのデータベースとの統合処理を実装しよう (4:49)
227:[編集画面]データベースのフィールド追加に伴う単語の登録・修正処理を変更しよう (3:23)
227-2:【+α】「copyWith」メソッドを使って変更したい項目だけを簡単に修正する方法 (3:15)
228:テストの状態を管理するためのステータスを設定しよう(TestStatus) (3:15)
229:[テスト画面]画面全体のレイアウトの枠組みを作ろう (5:52)
230:[テスト画面]問題数を表示するパートを実装しよう (4:50)
231:[テスト画面]「Stack」でWidgetを重ねて問題カード表示パートを実装しよう (5:40)
232:[テスト画面]「Stack」でWidgetを重ねてこたえカード表示パートを実装しよう (3:35)
233:【解説】CheckBoxListTileの使い方3ステップ (3:58)
234:[テスト画面]「CheckBoxListTile」を使って単語を暗記済みにする場合のチェックボックスを実装しよう (5:29)
235:【+α】CheckBoxに表示する文字をボックスの右側にしてみよう (2:51)
236:[テスト画面]テストで使う単語群をデータベースから取得しよう①(暗記済みの単語を除外して取得するクエリメソッドの作成) (6:08)
237:[テスト画面]テストで使う単語群をデータベースから取得しよう②(テスト画面からクエリメソッド呼び出し) (5:52)
238:[テスト画面]取得した単語リストをシャッフルしよう (4:22)
239:[テスト画面]「switch」文を使ってテストの状態を切り替える処理を実装しよう(FloatingActionButton) (6:07)
240:[テスト画面]テスト開始前の初期状態の設定をしよう (5:57)
241:[テスト画面]問題カードを出す処理を実装しよう (4:50)
242:[テスト画面]こたえカードを出す処理を実装しよう (3:14)
243:[テスト画面]暗記済フラグをデータベースに登録しよう (5:01)
244:[テスト画面]テスト終了時にメッセージを表示させよう (6:46)
245:[一覧画面]暗記済の単語は一覧上でチェックマークを表示させよう(ListTile.trailing/Icon) (5:40)
246:[一覧画面]暗記済の単語を下にソートする処理を実装しよう①(クエリメソッドの作成) (5:25)
247:[一覧画面]暗記済の単語を下にソートする処理を実装しよう②(一覧画面からクエリメソッド呼び出しとリストの更新) (2:59)
248:<資料>次のレクチャー(AlertDialogの解説)で使うプロジェクト
249:【解説】確認ダイアログ(AlertDialog)の使い方4ステップ (8:24)
250:[一覧画面]単語削除時に確認ダイアログ(AlertDialog)を出す処理を実装しよう (8:03)
251:[編集画面]単語の登録・修正時に確認ダイアログ(AlertDialog)を表示する処理を実装しよう (9:53)
252:[テスト画面]テスト終了時の確認ダイアログを実装しよう(AlertDialog) (8:37)
253:【+α】「Radio(ラジオボタン)」を「Switch(切り替えトグル)」に変えてみよう (5:53)
254:【+α】ランチャーアイコンを作ってみよう(flutter_launcher_iconsパッケージ) (5:17)
255:【+α:補足1】AndroidのランチャーアイコンをAdaptive Iconにする方法 (5:50)
256:【+α:補足2】AndroidのランチャーアイコンをAdaptiveからLegacyに戻す方法 (1:22)
257:【+α】Android端末に表示されるアプリのタイトルと画面の向きを設定しよう (3:00)
258:【+α:Macのみ】iOS端末に表示されるアプリのタイトルと画面の向き設定しよう(Xcode) (2:35)
259:【+α】Android用のスプラッシュスクリーン(ランチャースクリーン)を作ってみよう (6:53)
260:【+α:Macのみ】iOS用のスプラッシュスクリーン(ランチャースクリーン)を作ってみよう (4:08)
261:<資料>今回作ったアプリのプロジェクト(私だけの単語帳)
【本編・最終章】本編エンディング
262:エンディングメッセージと受講生特典のご案内 (3:10)
【補足セクション①】FlutterアプリをAndroidアプリとしてリリースしよう(Google Play Console)
Androidアプリの開発者登録をしよう(Google Playデベロッパーアカウント登録) (6:34)
支払いプロフィールを設定しよう(Google Play Console) (6:08)
ターゲットAPIレベル・アプリID・アプリのバージョン設定をしよう(Android Studio) (7:40)
【該当者のみ】ハイフン(-)の入ったドメイン名を使う場合の注意点(「AAPT: error: attribute 'package' in tag is not a valid Android package name: ・・・'」の対処法) (4:44)
【解説】AndroidアプリのAPIレベルとは (7:29)
【解説】なぜbuild.gradleファイルは2つ存在するのか (3:23)
アップロード鍵を作ってGoogle Play Consoleにアップロードするファイル(App Bundle)を作ろう(Android Studio) (8:02)
【解説】Google Playアプリ署名(App Signing)とは (3:47)
Google Play Consoleに新規アプリを追加しよう (3:23)
アプリのアクセス権と広告に関する設定をしよう(初期設定) (3:43)
コンテンツのレーティングを設定しよう(初期設定) (1:41)
ターゲットユーザーを設定しよう(初期設定) (3:26)
【解説】13歳未満対象のアプリをリリースする際の注意点(新しくなったGoogle Playファミリーポリシーへの対応) (5:01)
アプリのカテゴリを選択し、連絡先情報を登録しよう(初期設定) (1:41)
ストアの掲載情報を設定しよう(初期設定) (6:11)
内部テストを行うためのテスターを設定しよう(アプリのリリース) (2:11)
新しいリリースを内部テスト版でリリースしよう(アプリのリリース) (2:10)
内部テスト版アプリをテストし「リリース前」レポートで問題を確認しよう(アプリのリリース) (2:37)
リリース前レポートで「java.lang.StackOverflowError」というクラッシュエラーが出た場合の対処法 (3:43)
テストが完了した内部テスト版を製品版としてリリースしよう(アプリのリリース) (2:07)
リリースしたアプリのバージョンアップをしよう (3:47)
【重要】2020/11/2までにAndroidアプリの「targetSdkVersion」を「29」に上げる必要あり! (3:50)
リリース版のアプリをGoogle Playを通さずに開発者のスマホ端末にインストールする方法 (2:49)
【補足セクション②】<Macのみ>FlutterアプリをiOSアプリとしてリリースしよう(App Store Connect)
iOSアプリの開発者登録をしよう(Apple Developer Programへの登録) (7:06)
支払いプロフィールを設定しよう(App Store Connect) (5:42)
バンドルIDを登録しよう(App IDs) (4:03)
App Store Connectで新規アプリを追加しよう (3:45)
アップロードするプロジェクトの設定を確認しよう(Xcode) (5:15)
App Store Connectにアプリのファイルをアップロードしよう(XCode) (5:43)
「App情報」を入力しよう(App Store Connect) (2:19)
「価格および配信状況」の入力をしよう(App Store Connect) (1:34)
「プラットフォームバージョン情報」を入力しよう(App Store Connect) (6:26)
TestFlightでベータ版テストをしよう(App Store Connect) (6:22)
テストが完了したベータ版を製品版として審査に提出しよう(AppReview) (3:04)
リリースしたアプリのバージョンをアップしよう (2:35)
【補足セクション③】あらかじめデータがセットされたデータベースを使う方法(Moor)
このセクションで使うサンプルプロジェクト
CSVファイルからあらかじめデータのセットされたSQLiteデータベースを作成する方法 (6:13)
あらかじめデータのセットされたデータベースをプロジェクトにセットしよう (4:12)
あらかじめデータのセットされたデータベースを使うためのMoorの設定をしよう (8:06)
【補足セクション④-1】Flutter・Dart小ネタ集
FlutterSDKの配信チャネル(channel)・バージョンの確認方法・切替方法 (3:39)
バージョンをアップグレードする必要のあるパッケージを特定する方法(pub outdated) (3:43)
【Androidのみ】アプリを強制終了させる方法(SystemNavigator.pop) (2:46)
ブレークポイントでアプリを止めた段階での変数の値を確認する方法(Android Studio) (1:56)
パッケージ(Package)とプラグイン(Plugin)の違いとは (3:42)
ダイアログ(AlertDialog)を自動的に表示させる方法 (2:57)
【補足セクション④-2】Android Studioの便利な使い方小ネタ集
Android Studioのコード編集画面を分割させる方法 (1:41)
プロジェクト内のファイル・フォルダの場所をFinder(Mac)・エクスプローラー(Windows)で確認する方法 (0:52)
Android Studioからプロジェクトをzipファイルにエクスポートする方法 (1:45)
【補足セクション⑤-1】トラブルシューティング集(Androidエミュレーター・iOSシミュレーター関係)
M1チップ搭載のMacでAndroidエミュレーターのプレビュー版を使えるようにする方法 (6:44)
iOS実機・シミュレーターでアプリが動かせない場合の対処法(error: Multiple commands produce・・)の対処法 (1:45)
iOS実機でアプリを起動すると画面が真っ白になってしまう場合の対処法(ランチャースクリーンで止まってしまう場合含む) (1:17)
Androidのエミュレーターで日本語入力できない場合の対処法 (1:17)
iOSのシミュレーターで日本語入力できない場合の対処法 (0:44)
Androidエミュレーター内のファイルが見れない場合の対処法(Error initializing ADB:Android Debug Bridge not found)) (1:44)
Androidエミュレーターで録画をする方法 (2:07)
iOSシミュレーターで録画をする方法 (2:10)
【補足セクション⑤-2】トラブルシューティング集(その他)
Could not determine the dependencies of task ':app :flutterBuildDebug'の対処法 (1:14)
No version of NDK matched the requested version・・・の対処法 (2:06)
setState() or markNeedsBuild called during buildの対処法 (1:43)
iOSで効果音が鳴らせない場合('soundpool/soundpool-Swift.h' file not found')の対処法 (2:20)
人の作ったプロジェクトがスムーズに開けない場合の対処法(Android framework detected.) (1:01)
「Flutter Outline」を開いても何も表示されない(Nothing to show)場合の対処法 (0:27)
Dartのプラグインをインストールしたにも関わらず「Dart SDK is not configured」が出てしまう場合の対処法 (1:37)
androidフォルダにある「build.gradle」ファイルは開いた瞬間にニョロニョロが出ても問題なし! (1:57)
Pods-Runner-frameworks.sh: Permission deniedというエラーが出てiOSシミュレーター・実機でアプリが起動しない場合の対処法) (1:37)
【Moor】moor_ffi not found/Failed to load dynamic libraryというエラーが出た場合の対処法 (4:04)
コード生成(build_runner)したら「Failed to precompile build_runner」という謎のエラーが出て失敗する場合の対処法 (0:47)
「Could not resolve the package 'characters' in 'package:characters/characters.dart'.」の対処法 (1:06)
【Android】「AAPT: error: unexpected element found in 」の対処法 (3:42)
【Macのみ】Dartのコマンドラインツールが使えない場合の対処法(Flutterのバージョンを上げたにも関わらずDartのバージョンが一緒に上がらない場合) (5:27)
【補足セクション⑥】Flutter/Android Studioのアップデート関連
【重要】Android Studio4.0へのアップグレードはこの手順で行ってください(Flutter・Dartのプラグインのアップデートが必要です) (4:06)
Flutterのバージョンを1.20.1にアップグレードする際の注意点(コード生成(build_runner)がうまくいかなくなる場合の対処法) (3:15)
Flutterのバージョンを1.12に上げたら必要になるかもしれない統合処理(The plugin "・・" requires your app to be migrated to the Android embedding v2の対処法) (4:55)
iOS14の実機でデバッグモードで動かしたFlutterアプリをiOS端末上のアプリアイコンをクリックして再起動できない場合の対処法 (2:51)
Android Studioを4.1にアップグレードしたら「Flutter plugin not installed」というエラーが出た場合の対処法 (1:29)
flutter doctorしてもAndroid Studio4.1を認識してくれない場合の対処法 (1:28)
【補足セクション⑦】「Null Safety(Null安全)」について(バージョン2.12.0以降のDartは空っぽ(null)が大キライに)
「Null Safety(Null安全)」とは (5:49)
安全呼び出し(Safe Call)と「!」演算子 (6:56)
空っぽ(null)と空文字(””)の違い (2:02)
「Null Safety」は現時点では強制適用ではない(自分の使っているパッケージが全てNull Safety対応していないとそもそも適用できない) (4:08)
既存のプロジェクトをNull Safety対応に移行させる方法(Migrating to null safety) (6:13)
【補足セクション⑧】Flutter2.0への移行対応
RaisedButtonとFlatButtonが非推奨に(ElevatedButtonとTextButtonに) (7:47)
Listのコンストラクタが非推奨に(List() => []に) (1:35)
本編課題アプリのFlutter2.0対応(①:はじめてのアプリ) (2:02)
本編課題アプリのFlutter2.0への移行対応(②:ツッコミマシーン) (5:59)
本編課題アプリのFlutter2.0への移行対応(③:計算脳トレ) (3:43)
本編課題アプリのFlutter2.0への移行対応(④:私だけの単語帳) (4:14)
Flutter2.0以降は「flutter clean」した直後に「pub get」もする必要あり (1:45)
198:【解説】データベースライブラリ「Moor」の使い方9ステップ
このレクチャーはご覧になれません。
既に登録済の場合は
ログインが必要になります。
.
コースに登録する