設計Android應用程式架構的基本指南:MVP:第2部分
原文連結:https://blog.mindorks.com/essential-guide-for-designing-your-android-app-architecture-mvp-part-2-b2ac6f3f9637
目前機翻,待修正。
這是本系列文章的第二部分。在第一部分中,我們開發了MVP的概念,併為android應用程式架構制定了藍圖。如果您還沒有閱讀第一部分,那麼下面的大部分內容都沒有多大意義。所以,在繼續前進之前先完成第一部分。
我們將基於本系列文章第一部分中描述的藍圖開發一個完整的Android應用程式來實現MVP架構。
開發此專案是為了提供構建Android應用程式的正確方法。它包含了android應用程式大部分內容所需的所有程式碼。
該專案最初看起來會非常複雜,但隨著您將花時間探索,這對您來說將變得非常明顯。該專案使用Dagger2,Rxjava,FastAndroidNetworking和PlaceHolderView構建。
以此專案為案例研究。研究它的每一個程式碼。如果存在某些錯誤,或者您可以提出更好的邏輯實現,則建立一個拉取請求。我們正在逐步編寫測試,因此可以自由地為它們做出貢獻併為它們建立拉取請求。
開發的應用程式的螢幕如下:
這個應用程式有一個登入螢幕和一個主螢幕。登入螢幕實現谷歌,Facebook和伺服器登入。google和facebook登入是通過虛擬api實現的。登入基於訪問令牌檢索,後續api呼叫受此令牌保護。主螢幕建立帶有與MVP相關的問題的抽認卡。此repo包含程式碼,用於演示任何應用程式的骨架方面的大多數可能的應用程式元件。
我們來看一下專案結構:
整個應用程式分為五個部分:
- data:它包含訪問和操作元件的所有資料。
- di:使用Dagger2提供類的依賴關係。
- ui:檢視類及其相應的演示者。
- 服務:應用程式的服務。
- utils:實用程式類。
類的設計方式使其可以繼承並最大化程式碼重用。
專案結構圖:
最簡單的想法在他們的概念中最為複雜。
有很多有趣的部分。但如果我嘗試一次解釋所有這些,那麼它將一次變成太多的資訊。所以,我認為最好的方法是解釋核心哲學,然後讀者可以通過導航專案回購來理解程式碼。我建議你參加這個專案研究至少一週。按反向時間順序研究主要類別。
- 研究build.gradle並查詢所有使用的依賴項。
- 探索資料包和幫助程式類的實現。
- ui base包建立Activity,Fragment,SubView和Presenter的基本實現。所有其他相關元件應該從這些類派生。
- di package是為應用程式提供類的依賴項。要理解依賴注入,請閱讀我釋出的兩部分文章,Dagger2第1部分和Dagger2第2部分
- 資源:樣式,字型,可繪製。
閱讀本系列文章的第3部分:它包括MVP中的Dialogs,ViewPager,RecyclerView和Adapters。
如果您的專案非常龐大,許多開發人員同時處理它,那麼請使用Interactors和Repositories閱讀此MVP架構的擴充套件:
參考資源:
- RxJava2:https://github.com/amitshekhariitbhu/RxJava2-Android-Samples
- Dagger2:https://github.com/MindorksOpenSource/android-dagger2-example
- FastAndroidNetworking:https://github.com/amitshekhariitbhu/Fast-Android-Networking
- PlaceHolderView:https://github.com/janishar/PlaceHolderView
- AndroidDebugDatabase:https://github.com/amitshekhariitbhu/Android-Debug-Database
- 書法:https://github.com/chrisjenx/Calligraphy
- GreenDao:https://mindorks.com/blog/powerful-android-orm-greendao-3-tutorial
- ButterKnife:http://jakewharton.github.io/butterknife/
讓我們成為朋友的Twitter,LinkedIn,Github上,和Facebook的。
編碼器的搖滾
相關文章
- Android架構系列-MVP架構的實際應用Android架構MVP
- MVP應用架構模式MVP應用架構模式
- Android MVP 架構AndroidMVP架構
- Android 架構設計:MVC、MVP、MVVM和元件化Android架構MVCMVPMVVM元件化
- 【譯】使用Kotlin和RxJava測試MVP架構的完整示例 – 第2部分KotlinRxJavaMVP架構
- MVC、MVP、MVVM,談談我對Android應用架構的理解MVCMVPMVVMAndroid應用架構
- Android-MVP架構AndroidMVP架構
- Google官方應用程式架構指南Go架構
- 檔案屬性-3.2.linux應用程式設計和網路程式設計第2部分Linux程式設計
- Angular應用架構設計-2:Data Service模式Angular應用架構模式
- 應用架構圖的設計應用架構
- android音視訊指南-媒體應用架構概述Android應用架構
- Android架構系列-基於MVP建立適合自己的架構Android架構MVP
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝(一)Android架構MVP模式RxJava封裝
- Unity應用架構設計(1)—— MVVM 模式的設計和實施(Part 2)Unity應用架構MVVM模式
- SaaS架構:應用服務、應用結構設計架構
- linux程式全解-3.4.linux應用程式設計和網路程式設計第4部分Linux程式設計
- 第3章 Rails應用的架構AI架構
- 架構設計中的基本原則架構
- 應用架構指南全新發布應用架構
- FMEA在架構設計中的應用分析架構
- Android架構設計:手把手教你擼一個簡潔而強大的MVP框架!Android架構MVP框架
- 【Android架構】基於MVP模式的Retrofit2+RXjava封裝之多Url(七)Android架構MVP模式RxJava封裝
- iOS架構設計:揭祕MVC, MVP, MVVM以及VIPERiOS架構MVCMVPMVVM
- android-MVP架構中Presenter的單元測試AndroidMVP架構
- 論軟體架構設計及應用架構
- 通俗易懂的Android應用架構思想Android應用架構
- Android MVP架構改造~如何重用頂層業務AndroidMVP架構
- 學會JavaScript函數語言程式設計(第2部分)JavaScript函數程式設計
- 適用於Android的OpenSL ES指南-程式設計注意事項Android程式設計
- 《Java語言程式設計(基礎篇)(原書第10版)》第2~4章部分程式設計練習題程式碼Java程式設計
- Swift程式設計權威指南第2版 讀後收穫Swift程式設計
- Clean Architecture - 清晰簡潔的Android 應用架構Android應用架構
- Android應用架構的發展和實踐Android應用架構
- Unity應用架構設計(12)——AOP思想的實踐Unity應用架構
- 系統設計概念:生產 Web 應用的架構Web架構
- 【架構設計】你的應用該如何分層呢?架構
- Java基本程式設計結構Java程式設計