Sample Android app that I use as a reference for new Android projects. It demonstrates the architecture, tools and guidelines that I use when developing for the Android platform.
This sample demonstrates a basic Model-View-ViewModel (MVVM) architecture and provides a foundation on which the other samples and projects are built. This sample uses RxJava 2 to implement concurrency, and abstract the presentation and data layers.
This sample is based on the TODO-MVP-RXJAVA project and uses RxJava 2 for communication between the data model and ViewModels layers.
Libraries and tools included:
- JDK 1.8
- Android SDK.
- Android 10 (API 29).
- Latest Android SDK Tools and build tools.
This project follows architecture guidelines that are based on MVVM (Model View ViewModel).
Building an app with RxJava is not trivial as it uses new concepts.
Developers need to be familiar with RxJava, which is not trivial.
Very High. Given that the RxJava Observable
s are highly unit testable, unit tests are easy to implement.
High.
Medium as RxJava is not trivial.
Copyright 2019 Khalid ElSayed.
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.