這篇一萬多字,我花了很多時間來寫,主要是希望能簡單易懂的介紹新版 Flutter_bloc 8.0 的用法,當然也介紹了 DI 依賴注入,使用 GetX 來管理,不只理論,更著重實務應用技巧。
播音部分改用 BLoC v7.3.0 開發的完整程式碼
本篇詳細的介紹了怎麼在 Flutter 中分享一個功能,這也是 refactor 的一個很重要部分,我們把播音功能與介面獨立出來,現在可以很簡單的在不同的畫面分享共用。
分享播音功能與 UI
這篇是 Hive 的進階的用法,除了介紹 CRUD 以外,我們還展示了怎麼用 key 排序,不只英文,還可以排中文,也展示怎麼做欄位排序及過濾。
這篇詳細的說明 Hive 的安裝、設定與起始方法,包含會遇到的問題,我們用 Hive 來儲存使用者喜好,也順便示範 Hive 的基本用法。
我們簡介了 Flutter 中的幾個流行的資料庫(SQLite, idb shim, Hive, Sembast, Moor, ObjectBox, Cloud Firebase),也說明了 SQL 與 NoSQL 的主要不同與選擇方法,最後決...
這篇加上了完整的 Flutter 的 NoSQL Hive DB 程式碼展示,快樂錄音機 App 使用 Hive 來儲存使用者喜好,也用 Hive 來儲存錄音紀錄,包含 CRUD、Key 排序、Filtered 等用法。
從使用情境來介紹 Flutter 的輸入,讓你知道有沒有 Form 的使用差異,再深入 Controller 與 FocusNode,讓你完整駕馭 Flutter 的輸入。
從使用情境來完整的介紹 Flutter 的 TextFormField 輸入,還包含:Controller 與 FocusNode
flutter_sound 使用在 Web 時,需要安裝 javascript,怎麼裝?網頁與 App 大不同,很多 packages 也不支援 web,怎麼辦?瀏覽器也大不同,怎麼辦?本文都有介紹,也教你架設簡易 Flutter 網站。
在 Android 中使用 flutter_sound 必須要修改 Manifest 及 Gradle,它們是什麼?我們針對使用 flutter 的開發人,做了份簡單易懂的介紹。
處理錯誤一直是件很重要的事,這裡我們簡介了 Dart 及 Flutter 的錯誤處理方式:除了將 try-catch-finally 做了介紹,也對非同步及 runZonedGuarded 做了簡介,應該很夠用了。
Flutter 的 StatefulWidget 從出生到死亡,會有一系列的 methods 通知你它目前的狀態,本文介紹了它的用處。另外也介紹了 FutureBuilder,它可以依照非同步的資料來建立一個「活」的 Widget。
將近一萬個字的詳細介紹,你會學到 threads, isolates, event loop 跟 Future 及 Stream 的關係,然後了解原來 await 不過是個新寫法,還會知道 sync* 及 async* 的不同。
學會打開 iOS 的錄音及其他許可,讓我們的「快樂錄音機」App 可以在 iOS 執行。我們也深入介紹了 iOS 的 Podfile 及 Flutter 如何自動建立 Podfile 的秘密。
我們用 flutter_sound 套件建立好錄放音功能了,附上完整的程式碼,另外,也深入介紹了選擇 package 時的注意事項。
主要新增使用 flutter_sound 套件來建立錄放音功能的 new_audio.dart
真的會想要罵髒話,因為我怎麼能不相信蘋果大神呢?!大不敬啊~~~~ 話說,最近 CoVID 大惡魔降臨,大家都被病毒關在家,我也是那個「幸運」的大家,我平常上班就已經遲到早退又摸魚了,現在更是天天晚睡晚起翹腳看報悠悠過日,爽的很呢,不過,太爽...
很多 App 都需要支援多國語言,如果是,開發階段一定要儘早寫入,不然以後加入會改到吐血。本文深入淺出的介紹了 Flutter 的 I18n 及 L10n,學會怎麼設定多國語言,怎麼切換語言,以及中文 numberFormat 及 date 的...
Flutter 2.2 多國語言及切換程式碼範例。
自由的切換 UI 黑暗或是明亮模式 我們的 UI 現在會依照作業系統的預設自動切換到黑暗或是明亮模式,很棒,只是,好像,還不夠好,能不能讓使用者自由的切換呢? 要怎麼做呢?請各位先想一想!
延續我們的程式碼,如果有人現在才加入,目前階...
這一篇希望可以解救工程師的靈魂,因為有太多的工程師因為 UX/UI 的改來改去而氣到翻臉,哎,何必呢,除了要訓練自己的時時保持出世與正向外,儘早將 UX/UI 的控制獨立,會是最好的解決方式。相信我,老闆跟 designer 也不是故意玩你,他...
這是 milestone 4 的程式碼: lib/main.dart:
lib/theme/style.dart:
lib/theme/custom_widgets.dart:
lib/screens/my_ho...
這是 milestone 3 的程式碼: lib/main.dart:
lib/screens/my_home_page.dart:
lib/screens/audio...
這是 milestone 2 的程式碼: lib/main.dart:
lib/screens/audio_session.dart:
lib/s...
這是 milestone 1 的程式碼: lib/main.dart:
lib/mod...
Flutter 提供了四種 Navigation & Routing 的方式:
前面我們已經學會「N1 直接導航」及「N2 固定名稱路由」,現在讓我們來看看: N3 動態名稱路由:
延續我們的程式碼,它已經準備好可以用來測...
延續前一篇的文章: 穿梭在不同的畫面中 - 固定名稱路由法 — 如前文所述,Flutter 有四種 Navigation & Routing 的方式: 我們已經學過了「N1/直接導航法」,現在來看第二種,「固定名稱路由法」。 ...
如前文所述,Flutter 有四種 Navigation & Routing 的方式:
我們已經學過了「N1/直接導航法」,這種直接導航的方式,說直白的,就是把要去的 screen 包成一個 Route,好處是很直接,小缺點是如果...