Android_組件化_MVVM_組件化+LiveData+ViewModel+Repository

項目地址: NetNut/MVVM_組件化+LiveData+ViewModel+Repository--Jetpack--AS3.6.1

另外過程中有參考官方以及三方的一些文章來完善這個案例:

1.Arouter路由和簡單原理解析

2. AS3.6一些環(huán)境亂碼,模板注釋等的配置相關(guān)

**3. **AndroidX的混淆,自定義防被混淆注解類

4. ViewPager2、SVG矢量圖使用、以及AS有時候需要重啟的問題

5. adb閃退日志手動抓取 - 有時候應(yīng)用直接閃退,logcat無法打印日志的情況

6. databindding事件封裝、防重復(fù)點擊,封裝到Base頁面

**7. **一些過時方法的特殊處理

8. 約束布局Space實現(xiàn)負(fù)值設(shè)置+配合控件ratation實現(xiàn)自由控制間距

等等....工程還是盡量做到了完整...

https://developer.android.google.cn/studio/ 3.6.1 for Windows 64-bit (749 MB)
https://developer.android.google.cn/studio/#downloads
https://zhuanlan.zhihu.com/p/85095730 - 組件化路由方式

https://blog.csdn.net/CsdnXiaoCaiJi/article/details/88088163 - AndroidX新庫與舊庫對應(yīng)

http://www.itdecent.cn/p/579ff380b4af LiveData+ViewModel+Repository搭建簡易MVVM

https://www.jb51.net/article/182708.htm - 視圖綁定替換findviewbyid
https://blog.csdn.net/longxuanzhigu/article/details/104815201 - 視圖綁定替換findviewbyid

https://blog.csdn.net/hwra2008/article/details/104671351/ - Build Output顯示亂碼,記得重啟

https://blog.csdn.net/xiaowu_zhu/article/details/91826467 - 布局轉(zhuǎn)layout,生成databinding

https://blog.csdn.net/zahngjialiang/article/details/60133357 - 忽略xmlns:android="http://schemas.android.com/apk/res/android"

http://www.itdecent.cn/p/934825763b99 - debug模式判斷

https://blog.csdn.net/lbcwnu/article/details/86249671 - arouter源碼剖析,老夫簡單過了一下,本質(zhì)就是我們反射跳轉(zhuǎn)邏輯的封裝分組管理完善易用
https://github.com/alibaba/ARouter/blob/master/README_CN.md - 使用指南-github
http://www.itdecent.cn/p/5c109c51d7ba - 使用網(wǎng)上
http://www.itdecent.cn/p/6021f3f61fa6 - 這篇基本使用也不錯,也有源碼分析鏈接妮

http://www.itdecent.cn/p/358b2fb6f233  - AndoidX混淆

https://developer.android.google.cn/studio/build/shrink-code?hl=zh_cn#obfuscate - 配置編譯指南

https://blog.csdn.net/weixin_34050427/article/details/92876355 - 錯誤模塊刪除+本地 

http://www.itdecent.cn/p/3c10432a4726 - 倒計時Counter

https://oomake.com/question/3349078 - getLayoutInflater()和.getSystemService(Context.LAYOUT_INFLATER_SERVICE)之間有什么區(qū)別嗎

https://stackoverflow.com/questions/40882253/classnotfoundexception-didnt-find-class-android-databinding-databindermapper - Make sure that ALL your modules that use DataBinding have it enabled

https://www.cnblogs.com/zhangqie/p/11759690.html - AndroidX的 Tablayout(com.google.android.material.tabs.TabLayout) 的使用
https://www.cnblogs.com/guanxinjing/p/11039643.html Tablayout相關(guān)屬性

https://developer.android.google.cn/jetpack/androidx/releases/viewpager2?hl=en - ViewPager2官方文檔
http://www.itdecent.cn/p/e754cbd2d329 - ViewPager2:官方Viewpager升級版來臨

File->Settings->Build,Execution,Deployment->HotSwap  關(guān)閉hot-swap,不然調(diào)試模式不支持路由報錯

https://www.cnblogs.com/bluestorm/p/9268978.html - SVG矢量圖使用
https://blog.csdn.net/lr123838/article/details/100031835 - svg識別問題,需要重啟AS

http://www.itdecent.cn/p/35b2c72df186 - Android 判斷當(dāng)前是否在UI線程

adb閃退日志手動抓取-Start:
    清除舊日志信息輸入命令:,adb logcat -v time >.\\logcat.log 開始抓取日志,同時在手機上操作閃退步驟。

    注意:adb logcat -v time:是開始抓取日志命令

    >:代表輸出到

    .\\logcat.log:代表當(dāng)前路徑下日志的名稱

    5.結(jié)束抓取日志

    使用組合件:Ctrl+c可結(jié)束日志抓取。

    6\. 比如D:\Android\Sdk3.6\platform-tools>adb logcat -v time >.\\logcat.log
adb閃退日志手動抓取-End:

http://www.itdecent.cn/p/a263e46a912f - 無侵入式獲取contenxt或者初始化,主要是利用ContentProvider

http://www.itdecent.cn/p/b93d5ab4494b - databindding事件封裝、防重復(fù)點擊

https://blog.csdn.net/xu1988923/article/details/89405561 - getContext選擇

http://www.itdecent.cn/p/9c646002e2f7 - Arouter Fragment帶返回值跳轉(zhuǎn)

https://blog.csdn.net/anyanyan07/article/details/80885325 - Arouter requestCode必須大于0,不然不回調(diào)onActivityResult
http://www.itdecent.cn/p/9e81720ce8e8 - Arouter 這個分析的好,關(guān)于碎片跳轉(zhuǎn)問題

http://www.itdecent.cn/p/9fb30d8b4537 - 其他頁面路由任意主頁碎片

https://developer.android.google.cn/jetpack/androidx/releases/lifecycle#declaring_dependencies - Lifecycle依賴配置(ViewModel、LiveData)

https://blog.imallen.wang/2017/08/04/AndroidArchitecture01/ - google推薦架構(gòu) viewmodel(livedata)+view+model(resposity->room/net)

https://stackoverflow.com/questions/59448845/no-static-method-metafactory -- okhttp3編譯問題

https://blog.csdn.net/wonghoman/article/details/52848871 - onCreate多次初始化的問題解決 - 組件化可能遇到

https://blog.csdn.net/speverriver/article/details/69397749 - 整理下module模塊,外層增加文件夾

http://www.itdecent.cn/p/c3558eabb4f8 - 一些方法過時處理,

http://www.itdecent.cn/p/b6a818dbd99b - @SuppressWarnings("unchecked") @SuppressWarnings("de")

http://www.itdecent.cn/p/23effbad0086 - 多渠道配置參考。感覺如今沒必須多渠道了,做馬甲包倒是可以

android:rotation="90" - 控件做旋轉(zhuǎn)配置

http://www.itdecent.cn/p/a71f6511e477 - 約束布局Space實現(xiàn)負(fù)值設(shè)置

apt和javapoet ???

內(nèi)部還實踐了一把svg圖像加載。實踐了最新的jetpack組件。以及相關(guān)Rx網(wǎng)絡(luò)的封裝??梢怨﹨⒖?。 能指教的可以指教完善一把工程。環(huán)境都是目前比較新的版本和環(huán)境,依賴三方也是支持androidX的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容