• Stars
    star
    175
  • Rank 218,059 (Top 5 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The practice of MVI + Jetpack architecture in Android.

MVI-Architecture

English Documentation | 中文文档

通知

  • 如果编译遇到如下图的错误,请先参考下方【开始使用】,对项目进行配置:

出现这个问题的原因,最新版本的代码,需要开发者注册一个自己的OAuth Application,注册后,Github的API访问次数就能达到5000次/小时(之前的版本只有60次/小时),之前很多朋友反应在Debug过程中不够用,断点打了几次就被限制请求了,因此最新版本添加了这个配置的步骤,虽然麻烦了一小步,但是对于学习效率的提升,这点配置时间可以忽略不计。

概述

这个 Github客户端 的Android项目是基于 MVI (Model-View-Intent) 模式进行开发的,项目整体 业务逻辑UI的交互逻辑 全部交由 RxJava2 进行串联。

MVI 架构旨在使用 响应式函数式编程 (Reactive && Functional Programming), 这个架构的两个主要组件,ViewViewModel可以看作是函数,两者间通过RxJava相互输入和输出:

屏幕截图

三方组件

Android 官方架构组件 Jetpack

网络请求

依赖注入

响应式库

函数式库

其它

工具/插件

开始使用

  • 1.直接通过git命令行进行clone:
$ git clone https://github.com/qingmei2/MVI-Rhine.git
  • 2.注册你的GithubApp

首先打开这个链接,注册属于你的OAuth Application

注册完成后,记住下面的Client IDClient Secret,并配置到你的项目根目录的local.properties文件中:

CLIENT_ID = "xxxxxx"
CLIENT_SECRET = "xxxxxx"

大功告成,接下来点击编译并运行即可。🎉 🎉 🎉

如何入手学习这个项目?

如何使用Android Jetpack

如何使用Kodein进行依赖注入?

如何进阶学习RxJava

如何理解 MVI状态管理

感谢

🎨 项目中的UI设计部分参考了 gitme .

感谢 oldergod/android-architecture 项目对本项目的指导性作用.

License

The MVI-Rhine: Apache License

Copyright (c) 2019 qingmei2

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.

More Repositories

1

MVVM-Architecture

The practice of MVVM + Jetpack architecture in Android.
Kotlin
1,831
star
2

RxImagePicker

🚀RxJava2 and RxJava3 external support. Android flexible picture selector, provides the support for theme of Zhihu and WeChat (灵活的Android图片选择器,提供了知乎和微信主题的支持).
Kotlin
1,199
star
3

blogs

📝 The Android programing blogs(简体中文).
1,035
star
4

RxWeaver

🐤 一种基于RxJava2实现全局Error处理的实现方式。
Kotlin
269
star
5

MvpArchitecture-Android

[DEPRECATED] The MVP Architecture in the Android.
Java
113
star
6

FlutterGitHubApp

Flutter开发跨平台Github客户端,适用于Android和iOS。
Dart
102
star
7

Sample_dagger2

The guide of the Dagger2 and dagger.android usage in Android.
Java
98
star
8

SamplePaging

Kotlin
69
star
9

QrCodeScannerView-Android

[Deprecated(已废弃)] The Library simple and easy for scanning QrCode
Java
67
star
10

SlideBottomLayout-Android

【已废弃】该Repo已废弃,请使用Android原生的BottomSheet实现该功能.
Java
50
star
11

MVVM-Rhine-Template

Code generation template for MVVM-Rhine.
FreeMarker
45
star
12

Samples-Android

日常案例的练手代码仓库
Java
42
star
13

OpenGL-demo

Kotlin
38
star
14

MvvmApp-Android

[DEPRECATED] Mvvm+DataBinding study demo
Java
30
star
15

MultiTypeBindings

[DEPRECATED]零代码实现RecyclerView的Adapter
Java
28
star
16

Sample_AndroidTest

The Sample that how to use the AndroidTest in developing. (Espresso+Mockito+Robolectric)
Java
27
star
17

SampleNavigation

Google官方架构组件Navigation使用Sample
Kotlin
26
star
18

ShanbayAutoReader

扇贝阅读app自动阅读脚本
Groovy
12
star
19

RxFamilyUsage-Android

Also is your family if you love rx
Java
8
star
20

NotificationUtil

兼容Android8.0的通知Util
Kotlin
8
star
21

MVI-Rhine-Template

Code generation template for MVI-Rhine.
FreeMarker
7
star
22

RxDialog

Deprecated(已废弃)
Kotlin
6
star
23

MaterialDesignPictures

MD风格的图片,收集起来以作他用。
4
star
24

DslViewPagerAdapter

A simple implementation of ViewPager.
Kotlin
3
star
25

RxSchedulers

[DEPRECATED] The schedulers tools for RxJava2 in Android.
Kotlin
3
star
26

HenCoderPractice

HenCoder自定义View学习练习题库
Kotlin
3
star
27

KodeinSample

依赖注入工具Kodein使用Sample
Kotlin
2
star
28

GroovyJourney

Groovy学习代码
Groovy
2
star
29

qingmei2-blogs-art

Using Github as my image hosting service.
2
star
30

SampleWorkManager

Kotlin
1
star
31

my-unity-study-demo

The Unity learning project.
C#
1
star
32

LeetCodeJourney

目标,让家里的《算法导论》不再吃灰
Java
1
star
33

Data-Structure

Data-Structure Practice
C
1
star
34

BasicRxJavaSampleKotlin

Google官方BasicRxJavaSampleKotlin的代码,照着写学习:
Kotlin
1
star