Skip to content

charbelmkh/WeatherApp

Repository files navigation

Android Architecture Components WeatherApp samples using MVVM-I clean architecture

This App is written in kotlin following the Architecture Components](https://developer.android.com/arch)

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.
    • Data Binding - Declaratively bind observable data to UI elements.
    • 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.
    • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
  • UI - Details on why and how to use UI Components in your apps - together or separate
    • Fragment - A basic unit of composable UI.
    • Layout - Lay out widgets using different algorithms.
  • Third party
    • Glide for image loading
    • Kotlin Coroutines for managing background threads with simplified code and reducing needs for callbacks
    • Dagger2 for dependency injection
    • Retrofit for Http Calls

Installation(Mac)

Run the below commands it will build the project and install the app make sure you have an android device connected and working environment

chmod +x buildAndInstall.sh

./buildAndInstall.sh

Unit Test

The test cases can be found under the source folder

src/test/java src/androidTest

Right click on each class and select run test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages