✌️✊MvvmComponents
Project screenshot



Please move on to download and experience: Play Android
Project Introduction
- Based on the Mvvm mode, it integrates the JetPack component library LiveData+ViewModel+DataBinding, which is officially recommended by Google, and uses ARouter as component routing to play Android open API Android client.
- The data comes from the Android open API, which integrates login registration, collection, sharing, search, browse popular blogs and projects, add Todo to-do functions, etc., covering almost all Android open interfaces
- The project combines okhttp+Retrofit+RxJava2+Gson to achieve network request, Glide image loading, Koin to implement dependency injection, Alibaba ARouter to implement component routing communication jump, Tencent MMKV replaces Sharedpreferences to achieve high-performance local cache, LiveData-based message bus LiveEventbus event distribution, etc.
- With a general library module + multi-service components Mvvm componentization solution, compilation, debugging, and multi-person development are more convenient and faster
Project Architecture

Following the official recommended architecture of Google Mvvm as above, the UI is separated from the data, and the ViewModel is used as an intermediary to communicate to realize the data-driven UI. Inject local data + remote data = data warehouse through Koin dependency, only one line of code is needed to call outside, hide specific implementations, avoid problems such as data abuse and difficulty in post-maintenance.
Using a single container ContainerActivity + Multi-Fragment with Fragmentation library and Alibaba ARouter communication jump to realize a single activity multi-fragment component architecture

- lib_base: general functional component, supporting the business component foundation, and providing the ability to implement other business component
- module_login: business components, registration login module, and startup page
- module_main: business component, Tab home page module in app
- module_project: business component, Tab project module in the app
- module_search: functional component, providing search function
- module_square: business component, Tab square module in the app
- module_user: business components, user management and system settings module
- module_web: functional component, providing H5 functions
Get started quickly
Mvvm component scaffolding
Future version
grateful
- MvvmHabit: Mvvm integrates JetPack rapid development framework
- Agentweb: Lightweight and extremely flexible solution to native webview series solutions
- Litepal: Easily use SQLite databases
- Koin: Practical lightweight dependency injection framework
- LiveEventBus: A message bus based on LiveData lifecycle security
- LoadSir: gracefully handle loading, retry, no data, etc.
- BaseRecyclerViewAdapterHelper: Powerful and flexible list adapter
- ······
- Pay tribute to all the bigwigs who contributed to open source!
License
Copyright 2021 cdalwyn(陈志龙)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.