前言
又是好久不見了,真的不是因為我懶,是因為公司目前活確實有點著急,所以每天在忙公司的事情,
在五月下旬的時候寫過一篇MVVM的文章:MVVM?瞎搞一波?,當時寫的時候內心其實很慌,怕寫的不好從而誤導大家,但寫出來之后有幾位同行的回答讓我對MVVM有了一些更多的理解,


例如MVVM的VM就是 ViewModel,但并不只是 JetPack 中的ViewModel那個庫,而是泛指視圖和資料的系結等等,于是乎這兩天稍微有點時間就趕快趁著晚上和周末的時間繼續完善了下之前的MVVM版本的玩安卓,廢話不多說,先來看看實作的樣子吧,
玩安卓MVVM版截圖
首先來看下之前已經實作的大概樣式吧(文末有Github地址):
初始樣式
![]() | ![]() |
|---|---|
![]() | ![]() |
看著樣式還好,但之前只是簡單做了下,實作了最基本的功能,切換成橫屏之后基本沒辦法看,更不要說分屏、夜間模式、本地快取、無網弱網情況、無資料情況等等了,接下來看一下現在新增的適配頁面吧,
夜間模式
![]() | ![]() |
|---|---|
![]() | ![]() |
橫屏適配
![]() | ![]() |
|---|---|
![]() | ![]() |
無網、無資料適配
![]() | ![]() |
|---|---|
![]() | ![]() |
體驗
如果看到這里想要下載嘗試下的話可以直接點擊鏈接進行下載,或者掃描下面的二維碼進行下載,
https://www.pgyer.com/llj2

實作程序
專案用到了很多技術,基本上都是現在安卓app的最新標配,比如:MVVM、JetPack(LiveData、Room、ViewModel)、Retrofit、協程、Glide等等,
其實在優化這個Demo的時候覺得做了好多事,但是真的讓我寫的時候就有點懵逼了,因為用到的東西比較多,隨便拎出一個來都能單獨寫一篇文章;
比如在apk大小的優化,這個apk最后被我優化到只剩3.3MB,現在隨便一個apk都得幾十MB吧,apk優化的挺多,比如代碼混淆、資源檔案的混淆、不需要的語言洗掉、圖片轉webp等等,如果想深入了解apk壓縮的話,可以去看我之前寫的這篇文章:玩安卓必須要掌握的性能優化之APK極限壓縮,
又比如新增的瀏覽歷史功能中用到了Room,沒有Room的時候基本都在使用原生或者使用LitePal和GreenDAO等來實作,雖然LitePal和GreenDAO也是ORM的方式來實作的資料庫操作,但是總體來說還是沒有Room好用,Room寫好實作的DAO介面檔案即可,在你編譯的時候會直接生成對應的實作類,真的很香,
類似上面的還有很多,大家可以去Github下載代碼來看看,里面代碼寫的不能說好,但肯定不能說差,如果代碼哪塊寫的不好或者有優化的地方歡迎大家告訴我或者給我提issues,
好了,大家看看想了解這個app中的哪一塊技術,可以寫在評論區,下周我再好好寫一寫關于技術的文章,最后放一下專案的Github地址:https://github.com/zhujiang521/PlayAndroid
如果對大家有幫助的話別忘了點Star啊,萬分感謝🙏
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/44656.html
標籤:其他
上一篇:小白學C語言之簡易版掃雷游戲
下一篇:面試題精選:資料偽造
















