專案地址
前言
接觸Flutter其實已經很久了,從18年下半年就開始關注FLutter了,當時使用Flutter的人還非常少,我也只是大概看了看,寫了個小Demo就沒再深入了,短短不到兩年時間,各大部落格社群移動端的文章有一大部分都是關於FLutter的,可以看到,Flutter真的火起來了。
正文
關注泓洋大神已經許久,在玩安卓上也學習了很多的知識,看著很多人寫了很多版本的玩安卓客戶端,有Java的、有Kotlin的、還有Flutter的。其實很早就有自己也寫一個玩安卓來練練手的想法,但一直由於時間不夠沒有付諸實踐,這回抽了幾天時間,基本完成了常用的功能,比如:文章列表、專案列表、公眾號列表、收藏、積分、文章搜尋、登入註冊等等。
廢話不多說,直接來看一下專案的部分截圖吧:
依賴庫
看完了效果圖,這裡再來放一下用到的依賴庫吧:
- flutter_screenutil 螢幕適配
- fluttertoast 吐司
- shard_preferences 類似安卓的sp
- event_bus 和安卓的eventbus類似
- image_picker 圖片選擇
- http 網路請求
- flutter_swiper 輪播圖
- flutter_webview_plugin webview外掛
- pull_to_refresh 下拉重新整理、上拉載入
上面的這些庫大家可以進https://pub.dev/來進行搜尋使用。
遇到的問題
三天時間,其實也沒有遇到多少問題,說幾個比較噁心的問題吧:
- 首先是TabBar和TabView顯示公眾號的頁面,自己想的是直接獲取到公眾號資料的同時重新整理TabController並且直接請求當前公眾號的文章列表,這些操作全放在了一塊,當時就給我整懵逼了,然後TabView的滑動監聽還有問題?,後來直接不自己監聽了,直接交給TabBar來實現,我需要做的只有新建一個Widget,在裡面完成公眾號列表的實現,萬物皆Widget嘛!
- 後來寫完了不需要cookie的介面後(無需登入的介面),在實現需要cookie的介面的時候差點把我弄崩潰,cookie在後臺使用較多,但寫安卓的時候也沒有用過cookie,看泓洋大神寫的用PostMan實現也能成功,但是我自己呼叫的時候給headers傳cookie時一直不對,後來想明白了,cookie只是header的一個引數,我把使用者名稱和密碼的key學著PostMan都寫成了cookie,後臺肯定獲取不到啊,改了之後就可以了。
- 接下來這個應該屬於flutter_webview_plugin外掛的一個Bug吧,我在使用WebViewScaffold的時候,死活彈不出底部對話方塊,但是換成Scaffold的時候就可以彈出來,WebViewScaffold將我們的底部對話方塊給遮擋住了,所以彈不出來;然後就換了一個思路,直接在WebViewScaffold中的bottomNavigationBar中加上想彈出的頁面不得了,然後控制好顯示與否就行,具體實現專案中都有,這裡不做贅述。
總結
Flutter很好用,優點就是開發成本低、速度快、效率高,但缺點也很明顯,介面巢狀太多,後期維護很費勁。我也嘗試著將安卓中的MVP寫到Flutter中,但是效果並不是太好,所以就先放棄了,只能是多抽幾個Widget了。大家如果有空也可以自己照著弘揚大神的玩安卓的api寫寫試試(www.wanandroid.com/blog/show/2…