listenzz / Rxcommand
Licence: mit
A UI-related rxjava component for android mvvm architecture
Stars: ✭ 131
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Rxcommand
Mvvmhabitcomponent
👕基于MVVMHabit框架,结合阿里ARouter打造的一套Android MVVM组件化开发方案
Stars: ✭ 857 (+554.2%)
Mutual labels: rxjava, mvvm
Thirtyinch
a MVP library for Android favoring a stateful Presenter
Stars: ✭ 1,052 (+703.05%)
Mutual labels: rxjava, mvvm
Android App Template
Kickstart your new project with Android App Template (Kotlin + MVVM + AAC + Dagger 2 + Retrofit 2 + RxJava)
Stars: ✭ 34 (-74.05%)
Mutual labels: rxjava, mvvm
Viabus Architecture
让 Android 开发可以像流水线一样高效的,职责分离架构 ⚡ 不同于 MVP 的配置解耦,也不能和 似是而非 的 MVVM - Clean 同日而语。VIABUS 是世界范围内首个明确提出,通过职责分离,来真正实现 UI 和 业务并行开发的 Android 项目级开发架构和设计模式理念。
Stars: ✭ 485 (+270.23%)
Mutual labels: rxjava, mvvm
Alfonz
Mr. Alfonz is here to help you build your Android app, make the development process easier and avoid boilerplate code.
Stars: ✭ 90 (-31.3%)
Mutual labels: rxjava, mvvm
T Mvvm
This repository contains a detailed sample app that implements MVVM architecture using LiveData,ViewModel,Retrofit,Rxjava
Stars: ✭ 630 (+380.92%)
Mutual labels: rxjava, mvvm
Mvvm Kotlin Android Architecture
MVVM + Kotlin + Retrofit2 + Hilt + Coroutines + Kotlin Flow + mockK + Espresso + Junit5
Stars: ✭ 1,014 (+674.05%)
Mutual labels: rxjava, mvvm
Androcat
AndroCat is a GitHub client for Android phones and provides to user GitHub user interface like how they used to.
Stars: ✭ 87 (-33.59%)
Mutual labels: rxjava, mvvm
Freesound Android
Unofficial Android client for the Freesound Project
Stars: ✭ 81 (-38.17%)
Mutual labels: rxjava, mvvm
Android Mvvm
MVVM on Android using RxJava and Data Binding
Stars: ✭ 443 (+238.17%)
Mutual labels: rxjava, mvvm
Mvvm Architecture
The practice of MVVM + Jetpack architecture in Android.
Stars: ✭ 1,634 (+1147.33%)
Mutual labels: rxjava, mvvm
Weatherapp
5 Day Forecast app that works on Android and uses latest tools (Kotlin, Navigation, Room, LiveData, Databinding, Dagger 2)
Stars: ✭ 426 (+225.19%)
Mutual labels: rxjava, mvvm
Mvvmhabit
goldze: 本人喜欢尝试新的技术,以后发现有好用的东西,我将会在企业项目中实战,没有问题了就会把它引入到MVVMHabit中,一直维护着这套框架,谢谢各位朋友的支持。如果觉得这套框架不错的话,麻烦点个 star,你的支持则是我前进的动力!
Stars: ✭ 6,789 (+5082.44%)
Mutual labels: rxjava, mvvm
Lynket Browser
🌐 A better browser for Android using the Custom Tab protocol. Previously called Chromer.
Stars: ✭ 364 (+177.86%)
Mutual labels: rxjava, mvvm
Weaponapp
一个尽量做到极致的集大成App,努力做到最好(开发阶段)——MVVM+Retrofit+RxJava+Small 插件化+单元测试+MD
Stars: ✭ 1,011 (+671.76%)
Mutual labels: rxjava, mvvm
Amazefilemanager
Material design file manager for Android
Stars: ✭ 3,626 (+2667.94%)
Mutual labels: rxjava, mvvm
Android Jetpack Demo
🔥 快速入门Android Jetpack以及相关Kotlin、RxJava、MVVM等主流技术,独立构架App的基础技能
Stars: ✭ 335 (+155.73%)
Mutual labels: rxjava, mvvm
Awesome Android Kotlin Apps
👓 A curated list of awesome android kotlin apps by open-source contributors.
Stars: ✭ 1,058 (+707.63%)
Mutual labels: rxjava, mvvm
Mvvm Reddit
A companion project for our blog post on better Android software development using MVVM with RxJava.
Stars: ✭ 106 (-19.08%)
Mutual labels: rxjava, mvvm
RxCommand
A command is an Observable triggered in response to some action, typicallyUI-related.
It manage the extra states, such as loading, enabled, errors for you, when using RxJava2 implement the functions of your ViewModel.
博客
Code like this
ViewModel
public class MyViewModel extends ViewModel {
public final RxCommand<List<User>> usersCommand;
public MyViewModel(final UserRepository userRepository) {
usersCommand = RxCommand.create(o -> {
return userRepository.getUsers();
});
}
}
Activity
public class MyActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
MyViewModel viewModel = ViewModelProviders.of(this).get(MyViewModel.class);
viewModel.usersCommand
.switchToLatest()
.observeOn(AndroidSchedulers.mainThread())
.compose(Live.bindLifecycle(this))
.subscribe(users -> {
// update UI
});
viewModel.usersCommand
.executing()
.compose(Live.bindLifecycle(this))
.subscribe(executing -> {
// show or hide loading
})
viewModel.usersCommand
.errors()
.compose(Live.bindLifecycle(this))
.subscribe(throwable -> {
// show error message
});
}
}
Usage
buildscript {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
}
}
dependencies {
// using Support Library 26.1+
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.android.support:design:26.1.0'
// RxJava
compile 'io.reactivex.rxjava2:rxjava:2.1.0'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
// Live
compile 'com.shundaojia:live:1.0.2'
// RxCommand
compile 'com.shundaojia:rxcommand:1.2.2'
compile 'android.arch.lifecycle:extensions:1.0.0' // for ViewModel
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].