[Flutter] Expanded Widget
使用 Expanded Widget 有何效果?Flutter 的 Expanded 更改了行和列子級的約束,指示它們填充可用空間。於是把 Child 包裹在 Expanded 中,看著它成長!😎


現在智慧手機裝置有各種型號(iOS 和 Android),總有些時候,靠邊(上、下、左、右)的地方會被遮擋,那麼我們怎麼排除此問題呢?🤔
此時可以使用 SafeArea Widget。

我以 iPhone 11 為例,可以看到截圖上的字被狀態列給蓋住。
(繼續閱讀…)又到了換新電腦時候,習慣截圖工作記錄的我,總是會截取許多螢幕上的資料,Mac 預設將截圖儲存在桌面,一開始懶得移動截圖位置的我,不久就會佔滿整個螢幕桌面⋯⋯
只好這一次把做法記錄下來,下次再換新電腦就能快速完成此設定!也希望未來的我,每年都能換一台新筆電,如此讓我的生產力持續保持最好的狀態唷~😃
(繼續閱讀…)將 App 送審已成為我工作不會缺少的一部分,但那也只是對 iOS App 有成百上千的次數。這次面臨要將 Android App 送審,心想應該大同小異才是!🤠
在專案設定中有三個地方跟 SDK 有關:
以上三個值,可以在 build.gradle 找到,其中又以 targetSdkVersion 最為重要,主要因為會影響程式碼運作。我就是在這裡踩到坑⋯⋯
(繼續閱讀…)Flutter 最近幾年開始火熱起來,由於它優越的特性(UI/UX 與原生一致、開發效率快等),讓我對它有所期待,比起我曾嘗試的 Xamrin 和 Ionic 還要有潛力和遠景。
那麼要怎麼開始學習 Flutter 呢?因為每個人的背景基礎都不太一樣,肯定不能照同一套路進行。像我從 2012 年開始開發 iOS App,已經非常熟習 Native 語言來開發,無論什麼 App 只要有心都能獨自一人完成!那麼對我來說,大致上會需要去學習新的程式語言 Dart、設計架構、調試方法等等,同時也需要去接觸另一平台 Android 的相關技術。
(繼續閱讀…)由於 Flutter 是剛發展沒多久的程式語言,所以會遇到平台程式語言(Objective-C/Swift/Jave/Kotlin)有實作的功能,但 Flutter 還沒有的狀況,若我們不想要花時間開發,我們可以透過 Platform Channel,來直接使用平台的功能。🤪
還有另一種狀況,就是原生語言(C/C++)有實作的功能,但 Flutter 還沒有的狀況,此時我們可以使用什麼?Dart FFI。
今天要來學習 Dart FFI。Dart 是 Google 開發的程式語言,那麼什麼是 FFI 呢?
(繼續閱讀…)A foreign function interface (FFI) is a mechanism by which a program written in one programming language can call routines or make use of services written in another.
進公司兩年,還是有一些 Bug/Crash 未解,不是我不想解,只是不知道如何「重現」。偶然間我終於可以持續重現狀況,趕緊放下手邊工作,接上手機編譯 App,在 Xcode 設中斷點,便能知道前後變數當前的值,推敲源頭是什麼~😗
(繼續閱讀…)最近在整合 API,需要附加大量的參數,使用 Get 方式呼叫,發生:
Request failed: requested URL too long (414)
搜尋一下問題,原因如下:
Two options to resolve the problem for 414 response code:
最後我改成 Post 方式呼叫,就再也沒有此問題!😃
Error Domain=com.alamofire.error.serialization.response Code=-1011 “Request failed: requested URL too long (414)" UserInfo={NSLocalizedDescription=Request failed: requested URL too long (414),
Request-URI Too Large
The requested URL’s length exceeds the capacity limit for this server.
Apache/2.2.15 (CentOS) Server at upload.tintint.com Port 443
收到任務,要把周邊商品 A 上架,請我協助修改 API。🤔
修改這種既定邏輯是沒啥問題,問題是要怎麼找到關鍵的地方,這些地方散落各處,過去沒有或鮮少經手,一時之間要找挺是花時間呢~
好在總會有一些懶人做法,我搜尋 Git 用法,有個符合我期望的功能,就是能找到過去增修 code 的 commit,我要做的是把舊的周邊商品 B 的關鍵字輸入到指令。令人驚艷地,那些相關增修的地方全都跑出來啦~
指令的用法如下:git log -p --all -S 'search string'
我僅要替換「search string」,比如我想找 Happy Boy:git log -p --all -S 'Happy Boy'
其它進階用法,可再查參數之功用。
—
身為一個資深 iOS 工程師,偶爾還是要協助修改 API,畢竟公司每個同事都相當忙碌,而且趁這時候學新的技術,讓任務更容易完成!😗
參考:
要進入 Flutter 之前,就先來了解它為何會誕生,接著明白其特色與優缺點。讓我們能對它抱持著希望與期待,於日後開發 App 增添信心。🤗
Flutter 是 Google 推出並開源的行動應用開發框架,主打跨平台、高保真、高性能。開發者可以透過 Dart 語言開發 App,一套程式碼能夠同時執行在 iOS 和 Android 平台。Flutter 提供了豐富的套件、介面(接口),開發者可以很快地為 Flutter 新增 Native 擴展。同時 Flutter 還使用 Native 引擎渲染視圖,這相信能為用戶提供良好的體驗。

HappyMan・迴響