Skip to content

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

Notifications You must be signed in to change notification settings

ashishkharcheiuforks/MyWeatherKotlinFlow

 
 

Repository files navigation

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:https://www.apache.org/licenses/LICENSE-2.0.txt

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 58.3%
  • Kotlin 41.7%