/Asteroid-Radar-App

Project 2: Android Kotlin Developer Udacity | Nanodegree

Primary LanguageKotlin

Asteroid-Radar-App

Project 2: Android Kotlin Developer Udacity | Nanodegree

Rationale

The App is inspired by The Android Kotlin Developer Nanodegree Course on Udacity. It's the Second of the four projects in the course.

Tools, Libraries and Frameworks

  • Data Binding - a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • Navigation - a framework for navigating between 'destinations' within an Android application
  • ViewModel - is a business logic or screen level state holder. It exposes state to the UI and encapsulates related business logic. Its principal advantage is that it caches state and persists it through configuration changes.
  • LiveData - an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
  • WorkManager - great API for background processing
  • Repository - Combines different data sources and solve any potential conflicts between the data sources to update the single source of truth regularly or due to a user input event.
  • MVVM Architecture
  • Retrofit - A type-safe HTTP client for Android and Java. Introduction. Retrofit turns your HTTP API into a Java interface.
  • Moshi - A modern JSON library for Android, Java and Kotlin. It makes it easy to parse JSON into Java and Kotlin classes:
  • Glide - An image loading and caching library for Android focused on smooth scrolling
  • Picasso - A powerful image downloading and caching library for Android

Screenshots