高仿京東Android App,整合React-Native熱更功能
簡介
本專案是一個學習型別的專案,主要是為了學習一些Android最新的思路和開發思想,工程按照模組化、元件化的開發思路進行開發,專案整體結構如下圖。
專案程式碼整潔規範,結構清晰,使用Android最新的開發思想和技術,同時整合React-Native跨平臺,主要是為了實驗熱更功能,涉及到的技術有如下一些: 1. 使用kotlin語言開發,專案使用模組化開發,降低了耦合性; 2. 網路使用 retrofit2 + okhttp3方式,進行了高度的封裝; 3. leakcanary 記憶體洩漏檢測 4. 基於MVI架構airbnb的Mavericks 5. 本地mock 6. alibaba ARouter 7. 整合RN熱更功能, 使用者需要開啟rn載入頁面,rn工程請見
體驗
-
Apk下載連結: Apk下載連結
-
Apk二維碼
部分效果如下:
MVI架構
由於沒有明確的狀態管理標準,隨著應用程式的增長或新增功能或事先沒有計劃的功能,檢視渲染和業務邏輯可能會變得有點混亂,並且這種情況經常發生在Android應用開發過程中。可能你經常遇到狀態管理導致業務邏輯和 UI 渲染的分工不明確,最終導致應用架構的混亂。而新提出的MVI架構,提倡一種單向資料流的設計思想,非常適合資料驅動型的UI展示專案。MVI的架構思想來源於前端,由於Model、View和Intent三部分組成。
- Model:與其他MVVM中的Model不同的是,MVI的Model主要指UI狀態(State)。當前介面展示的內容無非就是UI狀態的一個快照:例如資料載入過程、控制元件位置等都是一種UI狀態
- View:與其他MVX中的View一致,可能是一個Activity、Fragment或者任意UI承載單元。MVI中的View通過訂閱Intent的變化實現介面重新整理(不是Activity的Intent、後面介紹)
- Intent:此Intent不是Activity的Intent,使用者的任何操作都被包裝成Intent後傳送給Model進行資料請求
用到的第三方庫
| 庫 | 功能 | | ----------------------- | ---------------------- | | retrofit2 | 網路 | | okHttp3 | 網路 | | mavericks | MVI框架 | | BaseRecyclerViewAdapterHelper | 萬能介面卡 | | PhotoView | 圖片預覽 | | ARouter | 元件化路由 | | coil | 圖片載入 | | XPopup | 彈窗元件 | | banner | 滾動圖 | | SmartRefreshLayout | 智慧下拉重新整理框架 | | gson | json解析 | | leakcanary | 記憶體洩漏檢測庫 |
- Spring Boot 快速接入 ChatGPT
- 基於OpenAI API構建圖片生成器
- 超詳細的ChatGPT註冊教程來了
- Android桌面圖示快捷方式
- 推薦20個開源的前端低程式碼專案
- 輕量級的搜尋引擎MeiliSearch
- Android Jetpack Compose快速上手
- Android 13 正式版釋出
- 最新版React Native環境搭建
- 騰訊開源垃圾清理軟體檸檬 Lemon
- RxDogTag:自動標記RxJava原始訂閱點
- 2021,位元組最值得關注的10個開源專案
- Google Colab 線上機器學習平臺使用教程
- 前端如何開始深度學習,那不妨試試JAX
- 高仿京東Android App,整合React-Native熱更功能
- 一文讀懂Kotlin的資料流
- Android動態更換應用圖示
- HTTP 3規範正式釋出
- 基於Linphone開發Android音視訊通話
- 走進WWDC 2022蘋果開發者大會