Skip to content

ShivamKumarJha/android_nasa_pictures

Repository files navigation

NASA Pictures app

Signed APK
App

Application Architecture

Application Architecture

Application Architecture Guide

Libraries Used

  • Foundation - Components for core system capabilities, Kotlin extensions and support for multidex and automated testing.
    • AppCompat - Degrade gracefully on older versions of Android.
    • Android KTX - Write more concise, idiomatic Kotlin code.
    • Test - An Android testing framework for unit and runtime UI tests.
  • Architecture - 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.
    • Lifecycles - Create a UI that automatically responds to lifecycle events.
    • LiveData - Build data objects that notify views when the underlying database changes.
    • Navigation - Handle everything needed for in-app navigation.
    • Room - Access your app's SQLite database with in-app objects and compile-time checks.
    • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
    • Hilt - Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.
  • UI - Details on why and how to use UI Components in your apps - together or separate
    • Jetpack Compose - Android’s recommended modern toolkit for building native UI. It simplifies and accelerates UI development on Android. Quickly bring your app to life with less code, powerful tools, and intuitive Kotlin APIs.
    • Material design - Material is an adaptable system of guidelines, components, and tools that support the best practices of user interface design.
    • Animations & Transitions - Move widgets and transition between screens.
    • Accompanist - Accompanist is a group of libraries that aim to supplement Jetpack Compose with features that are commonly required by developers but not yet available.
  • Third party and miscellaneous libraries
    • Coil - An image loading library for Android backed by Kotlin Coroutines.
    • Kotlin Coroutines - Manages background threads with simplified code and reducing needs for callbacks
    • Gson - Convert's Java Objects into their JSON representation.
    • Retrofit - Retrofit is a REST Client library to create an HTTP request and also to process the HTTP response from a REST API.
    • Chucker - An HTTP inspector for Android & OkHTTP.

Android Studio IDE setup

For development, the latest version of Android Studio is required. The latest version can be downloaded from here.

Getting Started

This project uses the Gradle build system. To build this project, use the gradlew build command or use "Import Project" in Android Studio.

For more resources on learning Android development, visit the Developer Guides at developer.android.com.

Support

If you've found an error in this repo, please file an issue.

Patches are encouraged, and may be submitted by making changes in a new branch and submitting a pull request through GitHub.

TODO

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages