這篇文章 2021/5 月寫的,此時 Flutter 是 2.2.0 版,使用的是 Mac,OS 是 11.4。 Flutter SDK Flutter 版本隨著時間自然後一直往前,所以安裝還是要依照官方的程序為準,以下是官方網址: In...
使用 responsive_framework 套件開發 Flutter Responsive 響應式 UX
使用 CustomPaint() 及 isolate() / compuate() 畫出 PCM 音檔的波形圖,使用者可選擇顯示區間,及優化使用者體驗
我們簡介了 Flutter 中的幾個流行的資料庫(SQLite, idb shim, Hive, Sembast, Moor, ObjectBox, Cloud Firebase),也說明了 SQL 與 NoSQL 的主要不同與選擇方法,最後決...
「快樂錄音機 App」一路從零開始開發,目前到 0.6 版,已經可以錄音、播放、存檔與使用資料庫紀錄了,為了讓讀者能更好的比對自己開發的結果,我把剛剛使用 BLoC 來做的播放音 refactor 部分做成了一個 GIF 動畫,可惜 GIF 沒...
處理錯誤一直是件很重要的事,這裡我們簡介了 Dart 及 Flutter 的錯誤處理方式:除了將 try-catch-finally 做了介紹,也對非同步及 runZonedGuarded 做了簡介,應該很夠用了。
很多 App 都需要支援多國語言,如果是,開發階段一定要儘早寫入,不然以後加入會改到吐血。本文深入淺出的介紹了 Flutter 的 I18n 及 L10n,學會怎麼設定多國語言,怎麼切換語言,以及中文 numberFormat 及 date 的...
本篇詳細的介紹了怎麼在 Flutter 中分享一個功能,這也是 refactor 的一個很重要部分,我們把播音功能與介面獨立出來,現在可以很簡單的在不同的畫面分享共用。
Flutter 的 StatefulWidget 從出生到死亡,會有一系列的 methods 通知你它目前的狀態,本文介紹了它的用處。另外也介紹了 FutureBuilder,它可以依照非同步的資料來建立一個「活」的 Widget。
學會打開 iOS 的錄音及其他許可,讓我們的「快樂錄音機」App 可以在 iOS 執行。我們也深入介紹了 iOS 的 Podfile 及 Flutter 如何自動建立 Podfile 的秘密。
這篇詳細的說明 Hive 的安裝、設定與起始方法,包含會遇到的問題,我們用 Hive 來儲存使用者喜好,也順便示範 Hive 的基本用法。
我們用 flutter_sound 套件建立好錄放音功能了,附上完整的程式碼,另外,也深入介紹了選擇 package 時的注意事項。
在 Android 中使用 flutter_sound 必須要修改 Manifest 及 Gradle,它們是什麼?我們針對使用 flutter 的開發人,做了份簡單易懂的介紹。
深入介紹 Responsive 響應式 UX 是什麼,及如何使用 responsive_framework 套件來快速的開發。
這篇用了一萬多個字來仔細介紹 Google Drive API v3 在 Flutter 裡面的檔案存取用法,一定要抱怨一下, Flutter 的文件說明真是太不清楚了,花了很多時間錯誤嘗試,才終於會動了。
我發現眾多在網路上關於 Flutter 使用 Google Drive 的介紹文章都不完整,很多都只講了一部分,如果照著做,大多都不能執行;另外相關的套件也已改版多次,造成很多網路上的分享也都過時了,本文嘗試一次講清楚,完整的介紹 Google...
這篇一萬多字,我花了很多時間來寫,主要是希望能簡單易懂的介紹新版 Flutter_bloc 8.0 的用法,當然也介紹了 DI 依賴注入,使用 GetX 來管理,不只理論,更著重實務應用技巧。
這篇是 Hive 的進階的用法,除了介紹 CRUD 以外,我們還展示了怎麼用 key 排序,不只英文,還可以排中文,也展示怎麼做欄位排序及過濾。
「快樂錄音機」現在可以將錄音檔的波形顯示出來了,而且還可以放大進去看。 使用 Flutter CustomPaint 及多工的 isolate 的 compute() 開發,下面是在 iPad 模擬器上執行的動畫:
前幾天,也就是 2021 年 12 月 9 號,Flutter 又宣布有新的 2.8 版了,距離我上次 10 月更新到 2.5 版失敗,也不過才兩個月,話說,Flutter 改版也太快了吧,不過也好啦,這代表 Flutter 團隊有認真在開發,...
「快樂錄音機」除了可以錄放音外,現在也可以將音檔存取在 Google 硬碟中了,透過 Google 硬碟,「快樂錄音機」也可以分享錄音檔了。 這是使用 Google Drive API v3 所開發的下載分享音檔功能動畫:
這是使用 G...
深入 CustomPaint(),導入多工 isolate() 計算複雜的波形資料,優化使用者體驗,正面對決巨量繪圖的挑戰
iOS 與 Android 的 App icon 不同,那在 Flutter 中要怎麼設計才會都支援?如何確定不會被切掉或太小看不到呢?還有,App 的名稱又要怎麼做多國語言呢?我們一次全部講清楚!
上傳下載都是很慢的動作,如何讓使用者知道進度,如何避免重複上傳下載,如何到處都可以傳送通知等等,這些都是非同步 UX 的設計重點與挑戰,這些都在本文中有詳細的說明。
Flutter 網站上線了!本文完整的介紹怎麼使用 Firebase 的免費網站託管,及 Flutter web 兩種優化要如何做選擇,還介紹了發佈錯誤怎麼「倒帶」,是真實的 App 專案發佈,不是又一篇「舉例」。
使用 introduction_screen 套件來開發「開機簡介畫面」不難,但是要做到:使用者可以關掉也可以打開,啟動後倒退也不會再出現,還要有 /intro 網址,這可就有些難度了;本文還對 Assets 做了一些深度介紹。
當你需要改變 Flutter 的 package name,BundleId 及 ApplicationId 時,你將會發現這是一個大坑,它們很不好改,本文是我走過的紀錄與建議,希望能幫助到也碰到這個問題的人。