Tải về MVVM Rabbit Download APK
There are numerous popular MVC and MVP model development frameworks for Android at the moment, but there are very few MVVM model development frameworks. MVVMHabit is built on the Google DataBinding+LiveData+ViewModel framework, combines popular modules like Okhttp+RxJava+Retrofit+Glide, and has a number of native control-customized BindingAdapters to correctly tie events to data sources. It is a highly addictive tool. A practical quick development framework for MVVM. Get rid of findViewById(), setText(), and setOnClickListener()...
Features of MVVM Rabbit Download APK:
Rapid Development:
You simply need to develop the project's business logic, and you no longer need to worry about network requests, permission applications, View life cycles, and so on. Simply roll up your sleeves and get started.
Simple to Maintain:
Low coupling and straightforward logic characterize the MVVM development model. The Model layer is in charge of passing the requested data to the ViewModel layer, which is in charge of processing the data with business logic before passing it to the View layer for display, corresponding to the View; the View layer is only in charge of interface drawing and refreshing and does not process business logic, making it ideal for assigning independent module development.
Framework:
Retrofit+okhttp+rx is a popular combination.Java is in charge of network requests; gson is in charge of processing json data; and glide is in charge of picture loading. rxlifecycle is in charge of controlling the view's life cycle while coexisting with network requests. To expand UI events, rxbinding is used with databinding. The Android 6.0 permission application is managed by rxpermissions. dialogues about materialA lovely, smooth, and fully adjustable material design style dialog box.
Data tying:
It satisfies the two-way binding of databinding supported by Google's current control and extends parts of the original control's unsupported data binding. Bind the image's url path to the ImageView control, and use Glide to load the image in the BindingAdapter method; the View's OnClick event uses RxView in the BindingAdapter method to prevent repeated clicks, and then returns the event to the ViewModel layer to complete the connection between xml and ViewModel. Data and event binding (@kelin created several of the framework's expanded controls and callback commands).
Encapsulation of the Base Class:
BaseActivity, BaseFragment, and BaseViewModel, which are developed expressly for the MVVM paradigm, no longer require ViewDataBinding and ViewModel to be defined in the View layer. By declaring generics on BaseActivity and BaseFragment, they can be utilized directly. Ordinary interfaces require only the creation of a Fragment and the use of ContainerActivity to dress it up (agent). You won't have to register each interface in AndroidManifest this way.
International Operations:
- To prevent clicking too quickly, global click event anti-shake processing is used.
- With global Activity stack management, you may launch and close certain activities anywhere in the program, as well as terminate the application with a single click.
- LoggingInterceptor intercepts network request logs globally, displays Request and Response, formats json and xml data display, and allows for interface with background debugging.
- One line of code implemented file download progress monitoring anywhere in the world (multiple file progress monitoring is not yet supported).
- SharedPreferences and memory management modes are supported by global cookies.
- General network request exception monitoring; configure corresponding messages based on various status codes or exceptions.
- When an exception occurs in global exception capture, the program does not crash, and the application can be restarted by jumping into the exception interface.
- Global event callback, with two callback mechanisms available: RxBus and Messenger.
What's the latest?
- Make the AndroidX branch the primary branch.
- Change the document description.
- Upgrade the versions of third-party framework dependencies.
- Improve the framework code and fix known problems.
- Improved support for Gradle plug-in versions.