/MyWeatherKotlinFlow

Android app that shows weather at your current location or any custom location you specify. Uses Kotlin Flow for data streaming and coroutines for asynchronous work. Also leverages Room, navigation component, Viewmodel and Livedata Jetpack components with MVVM presentation layer architecture. Dagger 2 with Dagger android for dependency injection

Primary LanguageJava

MyWeather

App shows real-time weather updates for your location and any custom location you set. Was initially written in Java but is now in Kotlin and uses coroutines. Data is from Apixu Api

  • You can clone the project and fix stuff or maybe write some tests 😉☺️

Features

  • kotlin coroutines for async operations
  • kotlin flow for data streaming
  • Local persistence using Room database
  • MVVM architecture
  • Databinding for binding data to views
  • Navigation component
  • Homescreen Widget that shows weather information
  • Dependency injection with Dagger 2

1. Clone or fork the repository (Master Branch) by running the command below

on your git terminal

git clone https://github.com/Ezike/MyWeather.git

2. Import the project in AndroidStudio, and add API Key

  1. In Android Studio, go to File -> New -> Import project
  2. Follow the dialog for set up instructions
  3. Get your api key from Apixu website
  4. Create a local gradle.properties file and store the api key there
ApiXuKey="Your API Key here"

Libraries

Author

Ezike Tobenna

License

This project is licensed under the Apache License 2.0 - See: http://www.apache.org/licenses/LICENSE-2.0.txt