iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 30
1
Mobile Development

Android Architecture Components 學習心得筆記系列 第 30

Day 30 完賽總結與心得

各主題心得

ViewModel
看似不起眼,實際上是個深藏不露的厲害角色,對於保存數據做了優化,程式碼也相當簡潔,而且跟其他的組件都做了很多整合,必學!

Data Binding
很炫炮的東西,把大部分對 UI 的操作移到 xml 去做,但是也因為程式碼都在 xml 檔裡面,坑很多,除錯也很不容易。

LiveData
一下就能上手,最簡單的就是反正不管什麼數據全部用 MutableLiveData 包起來就好,可以跟著生命週期的變化接收數據的更新,好像數據是有生命的一樣。

Room
用了之後完全回不去原生的 SQLite,把 CRUD 的操作都用註解的方式來寫,大幅提升可讀性和維護性,除錯也更確實迅速。

Paging
不只可以用來處理分頁的功能,一般的列表也能使用,對於效能和使用者體驗優化了很多,缺點是蠻複雜的,如果沒有特殊需求,其實還是用原生的 RecyclerView 就夠了。

Navigation
切換 Fragments 的神器!一行代碼搞定換頁、返回、丟參數、動畫。
缺點是切換 Fragment 的動作是用 replace,要改成 show、hide 很麻煩,比較不彈性。

WorkManager
執行背景任務的首選,把各項職責清楚分成不同類別,可讀性很高,並解決了不同 API 版本兼容的問題。

30天完賽心得

今年是第一次參賽,在八月初的時候開始查資料跟寫 sample,等於提前了一個月 + 兩個禮拜準備,

(鐵人賽 9/2 開始,但我 9/16 才開賽),時間其實非常充裕,再加上七月的時候跟女朋友分手,

對鐵人賽的準備是一大利多,更讓我能心無旁騖的準備文章跟寫 code,大概在還有十幾天的時候就寫完了,

後面幾乎都是躺著等過十二點把庫存拿出來發而已,算是很沒有壓力的完賽了。

一開始其實會擔心很多東西,像是會不會寫到十篇就沒東西了、寫錯會不會被嘴、

每天膽戰心驚的訂了好幾個鬧鐘怕自己漏發就斷了紀錄等等的...

在不斷催眠自己,反正我的文章應該也沒什麼人看吧,也不是什麼教學文章,只是心得筆記而已,

秉持這種厚臉皮的精神,終究是堅持下來了。

套句之前聽到 Android Taipei 的講者說過的一段話:

不管講的是好是壞,只要你敢站上台分享,收穫最多的一定是你自己

期許未來有更多人,當然還有自己,能夠更踴躍的分享所見所聞,

把學到的知識傳出去,分享的喜悅收進來,大家一起發大財 ^_^


上一篇
Day 29 WorkManager (Last) 進階用法與總結
系列文
Android Architecture Components 學習心得筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言