WeatherApp_MVI_sample
所属分类:救灾/预报
开发工具:kotlin
文件大小:6339KB
下载次数:0
上传日期:2023-06-07 21:28:16
上 传 者:
sh-1993
说明: [功能 React编程(FRP)]用Kotlin编写的简单Android天气预报应用程序,使用RxKotl...
(??[Functional reactive programming (FRP)] ??Simple Android weather forecast application written in Kotlin, using RxKotlin, Retrofit2, Mosby, Room Persistence ??MVI Pattern with Mosby Library)
文件列表:
WeatherApp_MVI_sample-try_mvi (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.editorconfig (174, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\codeStyles (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\codeStyles\Project.xml (4150, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\codeStyles\codeStyleConfig.xml (149, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\compiler.xml (169, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\dictionaries (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\dictionaries\Admin.xml (143, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\encodings.xml (135, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\gradle.xml (727, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\jarRepositories.xml (1874, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\kotlinc.xml (179, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\misc.xml (356, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\.idea\vcs.xml (508, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\LICENSE (1084, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\build.gradle (5141, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\proguard-rules.pro (1525, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\androidTest (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\androidTest\java (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\androidTest\java\com (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\androidTest\java\com\hoc (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\androidTest\java\com\hoc\weatherapp (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\androidTest\java\com\hoc\weatherapp\ExampleInstrumentedTest.kt (615, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\debug (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\debug\res (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\debug\res\values (0, 2022-10-14)
WeatherApp_MVI_sample-try_mvi\app\src\debug\res\values\google_maps_api.xml (163, 2022-10-14)
... ...
# WeatherApp Mosby MVI RxJava
[![Build CI](https://github.com/hoc0810***/WeatherApp_MVI_sample/actions/workflows/build.yml/badge.svg)](https://github.com/hoc0810***/WeatherApp_MVI_sample/actions/workflows/build.yml)
[![spotless](https://github.com/hoc0810***/WeatherApp_MVI_sample/actions/workflows/spotless.yml/badge.svg)](https://github.com/hoc0810***/WeatherApp_MVI_sample/actions/workflows/spotless.yml)
## Sreenshots
| | | |
| :---: | :---: | :---: |
| ![](screenshots/Screenshot_1.png) | ![](screenshots/Screenshot_2.png) | ![](screenshots/Screenshot_3.png) |
| ![](screenshots/Screenshot_4.png) | ![](screenshots/Screenshot_5.png) | ![](screenshots/Screenshot_6.png) |
| ![](screenshots/Screenshot_7.png) | ![](screenshots/Screenshot_8.png) | ![](screenshots/Screenshot_9.png) |
| ![](screenshots/Screenshot_10.png) | ![](screenshots/Screenshot_11.png) | ![](screenshots/Screenshot_12.png) |
| ![](screenshots/Screenshot_13.png) | ![](screenshots/Screenshot_14.png) | ![](screenshots/Screenshot_16.png) |
| ![](screenshots/Screenshot_17.png) | ![](screenshots/Screenshot_18.png) | ![](screenshots/Screenshot_19.png) |
| ![](screenshots/Screenshot_20.png) | ![](screenshots/Screenshot_21.png) | ![](screenshots/Screenshot_22.png) |
| ![](screenshots/Screenshot_23.png) | ![](screenshots/Screenshot_24.png) | ![](screenshots/Screenshot_25.png) |
## Features
- Architecture MVI with [Mosby MVI library](https://github.com/socke***/mosby)
- Data (for models, database, API and preferences).
- Presentation (for UI logic, with Mosby Mvi Presenter).
- Dependency injection with [Koin](https://insert-koin.io/).
- Full reactive programming with [RxKotlin](https://github.com/ReactiveX/RxKotlin), [RxAndroid](https://github.com/ReactiveX/RxAndroid), [RxBinding](https://github.com/JakeWharton/RxBinding).
- Networking with [Retrofit](https://square.github.io/retrofit/), [Moshi](https://github.com/square/moshi), [RxJava2 Adapter](https://github.com/square/retrofit/tree/master/retrofit-adapters/rxjava2).
- Local data with [Room Persistence](https://developer.android.com/topic/libraries/architecture/room).
- Auto update weather per 15 minutes with [Jetpack WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager).
## Trying:
[Debug apk](https://github.com/hoc0810***/WeatherApp_MVI_sample/blob/try_mvi/app/build/outputs/apk/debug/app-debug.apk)
## Todo
- Add testing
- Use [Kotlin coroutine](https://github.com/Kotlin/kotlinx.coroutines) and suspend function instead of Rx Single, Rx Completable
- Fix some problems
近期下载者:
相关文件:
收藏者: