All Projects → krokers → Exchange Rates Mvvm

krokers / Exchange Rates Mvvm

Licence: apache-2.0
Sample Android project which incorporates MVVM, databinding, RxJava2, Dagger2 and Clean Architecture approach.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Exchange Rates Mvvm

TpHulk
androidx,mvp,mvvm,jetpack
Stars: ✭ 19 (-55.81%)
Mutual labels:  mvvm, rxjava2, databinding
Kotlinjetpackinaction
🔥🔥 Kotlin Jetpack zero to hero. 新手到高手
Stars: ✭ 264 (+513.95%)
Mutual labels:  mvvm, clean-architecture, databinding
modern-android
Modern Android Project Skeleton
Stars: ✭ 17 (-60.47%)
Mutual labels:  mvvm, clean-architecture, databinding
Archetype
[DEPRECATED]Badass MVVM architecture.
Stars: ✭ 84 (+95.35%)
Mutual labels:  rxjava2, mvvm, databinding
Mvvmarms
Android MVVM Architecture Components based on MVPArms and Android Architecture Components.
Stars: ✭ 425 (+888.37%)
Mutual labels:  rxjava2, mvvm, databinding
Mvvmtemplate
An Android Template with MVVM and Clean Architecture
Stars: ✭ 182 (+323.26%)
Mutual labels:  rxjava2, mvvm, clean-architecture
Android Mvp Mvvm Flytour
🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精…
Stars: ✭ 2,948 (+6755.81%)
Mutual labels:  rxjava2, mvvm, databinding
Business Search App Java
Showcases object oriented programming in Java, Java Swing, Kotlin, and Android
Stars: ✭ 53 (+23.26%)
Mutual labels:  rxjava2, mvvm, clean-architecture
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (+788.37%)
Mutual labels:  rxjava2, mvvm, databinding
Paonet
【MVVM+RxJava2+AspectJ】泡网第三方客户端,网站主页:http://www.jcodecraeer.com/index.php
Stars: ✭ 374 (+769.77%)
Mutual labels:  rxjava2, mvvm, databinding
Mvvmhabit
goldze: 本人喜欢尝试新的技术,以后发现有好用的东西,我将会在企业项目中实战,没有问题了就会把它引入到MVVMHabit中,一直维护着这套框架,谢谢各位朋友的支持。如果觉得这套框架不错的话,麻烦点个 star,你的支持则是我前进的动力!
Stars: ✭ 6,789 (+15688.37%)
Mutual labels:  rxjava2, mvvm, databinding
Blockchain Tracker
A blockchain market tracking app. Example implementation of reactive clean architecture and testing.
Stars: ✭ 30 (-30.23%)
Mutual labels:  mvvm, clean-architecture, databinding
Android App Architecture Mvvm Databinding
A simple but complete project (in both Java & Kotlin) to demonstrate the Android application architecture with MVVM pattern, a client app for The Movie DB Web API. Dagger2 is used for dependency injection and RxJava is used for RFP (Reactive Functional Programming).
Stars: ✭ 69 (+60.47%)
Mutual labels:  rxjava2, mvvm, databinding
PlayAndroid
✌️✊👋玩安卓Mvvm组件化客户端,整合Jetpack组件DataBinding、ViewModel以及LiveData;屏幕适配✔️状态栏沉浸式✔️黑夜模式✔️,无数据、加载失败状态页;骨架屏、Koin依赖注入等
Stars: ✭ 193 (+348.84%)
Mutual labels:  mvvm, rxjava2, databinding
Tdcapp
Sample app which access the TDC (The Developer's Conference) REST API.
Stars: ✭ 55 (+27.91%)
Mutual labels:  rxjava2, mvvm, clean-architecture
T Mvp
Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2
Stars: ✭ 2,740 (+6272.09%)
Mutual labels:  rxjava2, realm, databinding
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (+186.05%)
Mutual labels:  mvvm, clean-architecture, databinding
Coolweather
Weather App that uses Android best practices. Android Jetpack, clean architecture. Written in Kotlin
Stars: ✭ 154 (+258.14%)
Mutual labels:  mvvm, clean-architecture, databinding
Cleanarchitecturerxswift
Example of Clean Architecture of iOS app using RxSwift
Stars: ✭ 3,256 (+7472.09%)
Mutual labels:  realm, mvvm, clean-architecture
Theatre
Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data are fetched from LondonTheatreDirect API. 🎭
Stars: ✭ 577 (+1241.86%)
Mutual labels:  rxjava2, mvvm, clean-architecture

ExchangeRates

Exemplary MVVM Android application based on databinding. It presents the daily exchange rates basing on USD.

Demo


This application was inspired by following projects, articles and presentations:

How to run

This application uses external service exposing the currency rates. If you want to run it yourself:

  1. Open this page: https://openexchangerates.org/,
  2. Register a free account
  3. Request application ID
  4. Add the application ID as a resource of this project, eg:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="oer_app_id">abddefghijkl</string>
</resources>

Architecture

As mentioned earlier, this application uses Clean Architecture approach. Layers are divided into separate gradle modules:

  • presentation - Android module. Contains presentation logic based on MVVM. View models exposes data via databinding bindables.
  • domain - pure java module with business use cases.
  • data - Android module implementing the repository pattern. Retrieves data from external service and from local database (in progress).

General overview diagram

Discussions

Refer to the issues section.

License

Copyright 2017 Rafal Swierkot

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.
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].