gitmyhub

MVPArms

Java ★ 10k updated 3y ago

⚔️ A common architecture for Android applications developing based on MVP, integrates many open source projects, to make your developing quicker and easier (一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架).

MVPArms is an Android app framework that bundles Retrofit, RxJava, Dagger2, and other popular libraries into a pre-wired MVP skeleton so you can start building features instead of setting up architecture.

JavaAndroidRetrofitRxJavaDagger2OkHttpGlidesetup: moderatecomplexity 3/5

MVPArms is an Android application framework that provides a pre-assembled foundation for building apps using the MVP (Model-View-Presenter) architecture. Rather than choosing and wiring together individual libraries yourself, MVPArms bundles a standard set of popular Android libraries into a ready-to-use skeleton. You start with this framework instead of a blank project, and the structural decisions are already made for you.

MVP is a way of organizing Android code that separates the user interface from the business logic and data. The Model layer handles data (fetching from the network, reading from a database), the View layer is the actual screen the user sees, and the Presenter sits between them, telling the View what to display based on what the Model returns. This separation makes apps easier to test and maintain as they grow. MVPArms enforces this pattern and provides base classes for each role.

The libraries bundled in include Retrofit and OkHttp for making network requests, RxJava and RxAndroid for handling asynchronous operations, Dagger2 for dependency injection (a technique that wires together components automatically), Glide for loading images, and several smaller utilities for caching, error handling, permissions, and logging. Dagger2 in particular requires a lot of repetitive setup code, so the project also offers a template tool that generates the boilerplate automatically when you create a new screen.

Screen size adaptation is built in through a companion library called AndroidAutoSize, which adjusts layouts to fit different phone screen sizes without manual work per device. The framework does not include UI components, so you bring your own visual design.

The documentation and most community discussion are in Chinese. A wiki with detailed setup instructions is linked from the repository for both new and existing projects.

Where it fits