自動再生
オートコンプリート
HTML5
Flash
Player
スピード
1つ前のレクチャー
このレクチャーを完了し次に進む
Flutter中級編3【質問対応有り版】
【本編・第1章】オープニング
001: <資料>この講座のスライド解説資料
002: オープニング(本講座で作るアプリと習得できるスキルのご紹介「瞑想アプリ:Meditation」)+講座内容にご満足頂けなかった場合の返金方法について (13:15)
003: <資料>今回作るアプリの設計図(瞑想アプリ)
004: 今回作るアプリ(瞑想アプリ)の設計図を書こう (8:57)
【本編・第2章】アプリアイコン・ランチャースクリーンを設定しよう
005: Android Studioで今回作るアプリのプロジェクトを作ろう (2:14)
006: <資料>今回のアプリで使うリソース(画像・音)
007: 今回のアプリで使うリソースをプロジェクトに取り込もう (2:08)
008: 「flutter_launcher_icons」パッケージを使ってアプリアイコンを作ろう(アプリアイコンの作り方4ステップ) (7:47)
009: ランチャースクリーンを作ろう(Android) (3:57)
010: [macのみ]ランチャースクリーンを作ろう(iOS) (3:14)
011: アプリ全体に共通する部分の実装をしよう (3:50)
【本編・第3章】ローカライゼーション(多言語設定)をしよう
012: 多言語設定用のプラグイン「Flutter Intl」を入れよう(Android Studio) (2:22)
013: 「Flutter Intl」プラグインの初期化処理をしよう(Android Studio) (1:24)
014: 「flutter_localizations」パッケージのインストールをしよう (1:33)
015: 「flutter_localizations」パッケージの初期化コードの実装をしよう (3:07)
016: <資料>次のレクチャーで使う英語・日本語の文字列リソースファイル(ARBファイル)
017: 文字列リソースファイル(Arbファイル)の設定をしよう (4:34)
018: [Macのみ]iOS端末で多言語表示のために必要な設定をしよう(Xcode) (1:45)
【本編・第4章】イントロ画面を作ろう
019: 設計の仕組みを構築しよう(①:ViewModel層・Model層のクラスファイル作成) (4:29)
020: 設計の仕組みを構築しよう(②:DIの仕組みの設定) (6:23)
021: 【解説】イントロ画面の作り方4ステップ (3:29)
022: イントロ画面を簡単に作れるパッケージに「intro_slider」をインストールしてイントロ画面(IntroScreen)の大枠を実装しよう (2:14)
023: イントロ画面に表示するスライド画面を実装しよう (4:54)
024: イントロ画面が終了したらホーム画面に遷移する処理を実装しよう (1:43)
025: 【解説】画面下から登場するダイアログ(ModalBottomSheet)の作り方 (5:05)
026: 「showModalBottomSheet」メソッドを使ってダイアログを表示させるトップレベル関数を作ろう (4:27)
027: イントロ画面のスキップを選択させるダイアログ画面(SkipIntroDialog)を実装して表示させよう (6:23)
028: イントロ画面のスキップを設定する処理を設計の仕組みを使って外注しよう (3:30)
029: 「shared_preferences」パッケージを使って、イントロ画面をスキップする設定を永続化させよう (2:56)
030: 「FutureBuilder」を使ってアプリ起動時にイントロ画面をスキップするかどうかを判定する処理を実装しよう (3:53)
【本編・第5章】瞑想画面のヘッダー部分と初期設定の実装をしよう
031: Dartでデータクラスを作るための「Dart Data Class」プラグインをインストールしよう(Android Studio) (3:27)
032: <資料>モデルクラス(Level/MeisoTheme)を作るために必要なID情報のコードスニペット
033: 瞑想の設定で使うデータを格納する3つのモデルクラスを作成しよう(①:レベル) (3:58)
034: 瞑想の設定で使うデータを格納する3つのモデルクラスを作成しよう(②:テーマ) (2:14)
035: 瞑想の設定で使うデータを格納する3つのモデルクラスを作成しよう(③:時間) (1:29)
036: ユーザーの設定データを格納するモデルクラス(UserSettings)を作成しよう (2:13)
037: <資料>次のレクチャーで使うコードスニペット(HomeScreen#setLevels/setThemes/setTimes)
038: ホーム画面起動時に瞑想の設定で使うデータをセットしよう (6:23)
039: 瞑想の設定データをロードする処理を設計の仕組みを使って外注しよう (2:44)
040: 「shared_preferences」パッケージを使って瞑想の設定データを取得しよう (3:19)
041: 設定データの取得を受けて瞑想の残り時間を設定しよう(「mm:ss」フォーマットに変換) (6:48)
042: 「Stack」を使ってホーム画面の大枠を実装しよう (6:27)
043: 【解説】「Selector」とは(Consumerとの違い) (5:59)
044: 「Selector」を使って瞑想の設定データの更新だけを監視できるようにしよう (4:47)
045: 線形グラデーションを施した背景画像を実装しよう(DecoratedBackground) (4:57)
046: ヘッダー部分(HeaderPart)の大枠を実装しよう (4:37)
047: 「font_awesome_flutter」を使ってヘッダー部分の各アイテムのアイコン部分を実装しよう (4:47)
048: 「Selector」を使ってヘッダー部分の各アイテムのテキスト表示部分を実装しよう(「context.select」の違い) (6:48)
049: タッチフィードバック(Ripple)がついたアイコンをカスタムウィジェットで実装しよう (5:11)
050: 「Selector」を使って瞑想中は設定が変更できないように制御する処理を実装しよう (6:12)
051: 瞑想の各設定ダイアログを表示する処理を実装しよう (4:14)
052: レベルを設定するダイアログ画面を実装しよう(LevelSettingDialog) (6:25)
053: レベルを設定する処理を実装しよう (3:32)
054: 時間を設定するダイアログ画面を実装しよう(TimeSettingDialog) (6:58)
055: 時間を設定する処理を実装しよう (4:20)
056: テーマを設定するダイアログ画面を実装しよう(ThemeSettingDialog) (8:10)
057: 「Stack」と「Positioned」を使ってテーマ設定ダイアログを閉じる処理を実装しよう (2:51)
058: テーマを設定する処理を実装しよう (3:17)
【本編・第6章】瞑想画面のその他のパーツ部分を実装しよう
059: ステータス表示部分(StatusDisplayPart)の大枠と上段部分を実装しよう (6:09)
060: ステータス表示部分の下段部分を実装しよう (4:05)
061: 「Selector」を使ってステータス表示部分のリビルドを抑制させよう (3:36)
062: プレイボタン表示部分(PlayButtonsPart)の大きいボタンを実装しよう (5:37)
063: プレイボタン表示部分(PlayButtonsPart)の小さいボタンを実装しよう (3:44)
064: プレイボタンを押したときにViewModelに外注する処理を実装しよう (3:00)
065: 【解説】「Slider」の使い方 (3:02)
066: 「Slider」を使って音量調節スライダー部分(VolumeSliderPart)を実装しよう (5:57)
067: 【解説】「FloatingActionButton(FAB)」を複数表示できる「SpeedDial」の使い方 (3:51)
068: 「flutter_speed_dial」パッケージを使って複数FAB部分(SpeedDialPart)を実装しよう (6:37)
【本編・第7章】瞑想のロジック部分の実装をしよう
069: 【解説】瞑想のロジックはどのようになっているのか (3:57)
070: 瞑想開始前のカウントダウン処理を実装しよう (7:33)
071: 開始前カウントダウン終了時にBGMを準備する処理を設計の仕組みを使って外注しよう (5:10)
072: 「sound_pool」パッケージを使って効果音を準備する処理を実装しよう(クラスのインスタンス生成時に初期化処理を行う方法) (6:05)
073: 【解説】「assets_audio_player」パッケージを使ったBGMの流し方 (3:20)
074: BGMを準備する処理を実装しよう (6:22)
075: 呼吸サイクルに合うように瞑想時間を調整する処理を実装しよう (6:00)
076: BGMを開始する処理を実装しよう (3:18)
077: 瞑想のステータスを判定する処理を実装しよう(①:2種類のステータスの場合分け) (4:25)
078: 瞑想のステータスを判定する処理を実装しよう(②:ステータス判定ロジックの実装) (7:36)
079: 瞑想の一時停止・再開・リセットする処理を実装しよう (5:25)
080: 瞑想稼働中のタイマー二重で走らないようにするための仕組みを実装しよう (5:52)
081: 瞑想終了時の処理(タイマー・BGM終了+効果音)を実装しよう (3:32)
082: 音量を調整する処理を実装しよう (3:35)
083: 効果音とBGMを破棄する処理を実装しよう (2:10)
084: <資料>ここまでのプロジェクト
【本編・第8章】アプリ内広告(Admob)表示処理を実装しよう
085: 【解説】Admobとは(Firebaseの簡単な説明含む) (3:34)
086: 【解説】Flutterで広告(Admob)を表示させる方法 (5:34)
087: [未済の方のみ]Firebaseのアカウントを開設しよう (3:11)
088: Firebaseコンソール内に新しいプロジェクトを作成しよう (4:49)
089: Firebaseプロジェクト内にAndroidアプリの登録をしよう (4:26)
090: [Macのみ]Firebaseプロジェクト内にiOSアプリの登録をしよう (2:13)
091: FirebaseをFlutterで使うための初期化処理(firebase_core)をしよう (2:36)
092: Abmobのアカウントを開いてAndroidアプリと広告を登録してIDを取得しよう (4:32)
093: [Macのみ]AbmobのアカウントにiOSアプリと広告を登録してIDを取得しよう (1:28)
094: 「firebase_admob」のパッケージをインストールしよう (4:02)
095: マニフェストファイル(Android)とInfo.plistファイル(iOS)に必要な設定をしよう (2:38)
096: 広告表示を管理するAdManagerクラスにアプリ・広告IDをstaticプロパティとして設定しよう (3:32)
097: AndroidのminSDkVersionを21に変更しよう(DexArchiveMergerException: Error while merging dex archivesの対処法) (1:47)
098: AdmobSDKの初期化処理を実装しよう (2:29)
099: バナー広告を表示させる処理を実装しよう (5:28)
100: バナー広告の表示位置を調整する方法 (3:16)
101: バナー広告表示に伴うViewの修正をしよう (3:53)
102: 全画面広告の初期化と破棄の処理を実装しよう (5:14)
103: 全画面広告を表示する処理を実装しよう (7:39)
104: 全画面広告を一旦閉じても再度表示できるようにする処理を実装しよう (3:30)
105: <資料>ここまでのプロジェクト
【本編・第9章】アプリ内課金処理(In-App-Purchase)を実装しよう(①:Androidアプリ用の事前準備)
106:<資料>ストア掲載情報入力用のリソース(Google Play / App Store)
107: 【解説】アプリ内課金とは(アプリ外課金との違い・商品タイプ) (9:59)
108: 【解説】「RevenueCat」とは(アプリ内課金管理ツール) (7:56)
109: 【解説】「RevenueCat」を使ったアプリ内課金の実装方法 (7:08)
110: [未済の方のみ]Androidアプリのデベロッパー登録をしよう (5:10)
111: [未済の方のみ]Google Play Consoleで販売者プロフィールの設定をしよう (6:45)
112: マニフェストファイルの課金処理に必要な設定を追加してGoogle Playにアップロードするファイル(App Bundle)を作ろう (5:17)
113: [未済の方のみ]アップロード鍵とキーストアの作り方 (5:08)
114: Google Play Consoleに新規アプリを追加してApp Bundleをアップロードしよう (2:19)
115: ストア掲載情報等を入力しよう (3:34)
116: 内部テストを行うためのテスターを登録してアルファ版としてリリースしよう (2:23)
117: 課金アイテムをGoogle Play Consoleに登録しよう (6:50)
118: RevenueCatとアプリのデータを共有するための信用状(Credential)を作成しよう (4:17)
【本編・第10章】<Macのみ>アプリ内課金処理(In-App-Purchase)を実装しよう(②:iOSアプリ用の事前準備)
119: [未済の方のみ]iOSアプリの開発者登録をしよう(Apple Developer Programへの登録) (8:16)
120: [未済の方のみ]支払いプロフィールを設定しよう(App Store Connect) (6:04)
121: バンドルIDを登録しよう(App IDs) (2:17)
122: App Store Connectで新規アプリを追加し「バージョン情報」を入力しよう (2:49)
123: 課金アイテムをApp Store Connectに登録しよう (8:29)
124: RevenueCatにアプリのデータを見せることを許可するための「App用共有シークレット」を作成しよう (1:27)
125: アプリ内課金テスト用のサンボボックスアカウントを作成しよう (2:47)
【本編・第11章】アプリ内課金処理(In-App-Purchase)を実装しよう(③:RevenueCatの事前準備)
126: 「RevenueCat」のアカウントを開設してアプリを登録しよう (3:07)
127: 【解説】「RevenueCat」におけるアプリ内課金の管理体系 (7:30)
128: 「Product」の登録をしよう (2:55)
129: 「Entitlement」の登録をしよう(非消費型と定期購入) (2:59)
130: 「Offering」と「Package」の登録をしよう (5:24)
【本編・第12章】アプリ内課金処理(In-App-Purchase)を実装しよう(④:課金処理の実装)
131: 「RevenueCat」をFlutterのプロジェクトで使うための初期設定をしよう (4:41)
132: アプリ内課金処理の初期化処理を実装しよう(InAppPurchaseManager) (4:19)
133: Offering(ユーザーに提供する課金アイテムの選択肢)を取得する処理を実装しよう (4:02)
134: 課金アイテムの保有状況をストアから取得する処理を実装しよう (4:48)
135: 課金アイテムのストアからの取得を受けた処理を実装しよう (5:58)
136: 課金アイテムの保有状況を受けて広告の表示・非表示処理を実装しよう (4:07)
137: 課金アイテムの保有状況を受けてテーマの表示・非表示処理を実装しよう (4:42)
138: 課金アイテムの購入処理を設計の仕組みを使って外注しよう (4:44)
139: 課金アイテムの購入処理を実装しよう (6:04)
140: 課金アイテムの購入処理を実装できているか実機で確認してみよう (3:10)
141: アプリ内課金実装に伴う広告表示処理の修正をしよう (3:25)
142: [Macのみ]課金の復元処理を実装しよう (4:21)
143: 【解説】「AbsorbPointer」とは (2:47)
144: 「AbsorbPointer」と「Opacity」を使って課金処理実行中は画面が触れないようにする処理を実装しよう (5:45)
145: <資料>今回のアプリの完成プロジェクト
【本編・第13章】エンディング
146: エンディングメッセージ (6:47)
147: 受講生特典のご案内(他のFlutter中級編講座割引クーポン)
085: 【解説】Admobとは(Firebaseの簡単な説明含む)
ディスカッション
0
コメント
もっとロードする
0 コメント