MyWeatherKotlinFlow
MyWeatherKotlinFlow copied to clipboard
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 co...
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
- In Android Studio, go to File -> New -> Import project
- Follow the dialog for set up instructions
- Get your api key from Apixu website
- Create a local
gradle.properties
file and store the api key there
ApiXuKey="Your API Key here"
Libraries
- Coroutines
- Flow
- AndroidX
- Navigation component
- Retrofit 2
- LiveData
- ViewModel
- Room
- Glide
- DataBinding
- Dagger2
- Timber
- WeatherIconView
- Moshi
- ThreeTenABP
- OkHttp3
- Google Admob
Author
Ezike Tobenna
License
This project is licensed under the Apache License 2.0 - See: http://www.apache.org/licenses/LICENSE-2.0.txt