Android App(online & Offline) using Clean Architecture, MVVM, DataBinding, Koin, Coroutines, LiveData, ViewModel, Room, Navigation, UnitTesting, MockTest and AndroidX.
The data is fetched from Random User.
*Data from Random User
Created by Siva kumar boddu
- AndroidX Artifacts within the androidx namespace comprise the Android Jetpack libraries. Like the Support Library, libraries in the androidx namespace ship separately from the Android platform and provide backward compatibility across Android releases.
- Data Binding Write declarative layouts and minimize the glue code necessary to bind application logic and layouts.
- Android KTX A set of Kotlin extensions for Android app development.
- Navigation Component Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app. Android Jetpack's Navigation component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer. The Navigation component also ensures a consistent and predictable user experience by adhering to an established set of principles.
- MVVM Model–view–viewmodel (MVVM) is an architectural pattern in computer software that facilitates the separation of the development of the graphical user interface (GUI; the view)—be it via a markup language or GUI code—from the development of the business logic or back-end logic (the model) such that the view is not dependent upon any specific model platform.
- Swiperefreshlayout Android SwipeRefreshLayout is a ViewGroup that can hold only one scrollable child. It can be either a ScrollView, ListView or RecyclerView. The basic need for a SwipeRefreshLayout is to allow the users to refresh the screen manually. This is pretty common in the Facebook Newsfeed screen.
- Google Material Design Components are interactive building blocks for creating a user interface. They can be organized into five categories based on their purpose: Action, containment, navigation, selection, and text input..
- TestCases Test cases for android app.
###Open Source JSON API Call
- JSON API Call This is useful to Reads a JSON feed from the internet.
- Android Architecture Components Android architecture components are a collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.
- Koin A pragmatic lightweight dependency injection framework for Kotlin developers. Written in pure Kotlin using functional resolution only: no proxy, no code generation, no reflection!
- Coroutines Asynchronous or non-blocking programming is the new reality. Whether we're creating server-side, desktop or mobile applications, it's important that we provide an experience that is not only fluid from the user's perspective, but scalable when needed.
- ConstraintLayout Allows you to create large and complex layouts with a flat view hierarchy (no nested view groups).
- RecyclerView A flexible view for providing a limited window into a large data set.
- Glide An image loading and caching library for Android focused on smooth scrolling
- Retrofit A type-safe HTTP client for Android and Java.
- OkHttp An HTTP & HTTP/2 client for Android and Java applications.
- Room The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
- Gradle Kotlin DSL Gradle’s Kotlin DSL provides an alternative syntax to the traditional Groovy DSL with an enhanced editing experience in supported IDEs, with superior content assist, refactoring, documentation, and more. This chapter provides details of the main Kotlin DSL constructs and how to use it to interact with the Gradle API.
- LeakCanary LeakCanary is a memory leak detection library for Android.
- Timber Timber — A Logging Library for Android.