Weather Android Kotlin

Weather Android App converted to Kotlin!
Alternatives To Weather Android Kotlin
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
10 days ago286apache-2.0Python
:partly_sunny: The right way to check the weather
3 months ago1February 27, 201821iscGo
weather app for the terminal
2 years ago10mitSwift
Weather and Forecasts for Humans
a month ago156otherFortran
The official repository for the Weather Research and Forecasting (WRF) model
7 months ago120otherJava
A simple, opensource weather app for Android.
Rex Weather733
3 years ago1bsd-3-clauseJava
RexWeather - A sample Android project demonstrating the use of Retrofit and RxJava to interact with web services
a year agoJavaScript
🏄Windy API, or Windy Leaflet Plugin, let you put animated weather map into your website and enjoy rich ecosystem of Leaflet library.
2 years ago33mitJavaScript
Simple menubar application based on Electron with actual weather information and forecast.
4 years ago2Java
Alarm clock with weather forecast 一款具有天气提醒功能的闹钟
2 years ago1mitKotlin
5 Day Forecast app that works on Android and uses latest tools (Kotlin, Navigation, Room, LiveData, Databinding, Dagger 2)
Alternatives To Weather Android Kotlin
Select To Compare

Alternative Project Comparisons

What is this repository for?

  • This is weather android app which uses as data provider
  • v1.0.0

How do I get set up?

  • ./gradlew clean build
  • and don't forget to setup your sdk.dir (via or direct specification)

Design concepts

The whole design of my app is based on Dependency Injections and EventBus concepts. I wanted to split all classes out from each other onto independent components.

Interaction with weather web-service is based on fetching forecast by latitude and longitude. I use shared preferences as a cache for forecast responses and update this cache in two cases:

  1. user refreshed the list manually by pull-to-refresh action on the list of data
  2. time of response is expired (it's 24 hours) and in the next scrolling action - application will try to fetch new data for this location


I used a lot of 3rd libraries and the main reason why I did it, just to speed up development process.

  • rxjava - don't like to hassle with AsyncTask
  • retrofit - quick bootstrap of any http webservice stub
  • ormlite - quick bootstrap for database
  • otto - eventbus
  • dagger2 - DI
  • - Staggered GridView for weather dashboard
  • timber - very customizable logger for android

Which design patterns I used

DI, EventBus, Observer, Builder

Applications consists of two screens:

  1. main screen with weather dashboard
  2. settings activity where the user can specify Temperature Units (Celcius or Fahrenheit)
  3. and Debug activity to show how to override eventbus

Small clarification: To refresh weathers list - just pull down (I used SwipeRefreshLayout from support library)


To run & debug unit-tests in IDE you need to use Android Studio 1.4

Popular Weather Projects
Popular Forecast Projects
Popular Command Line Interface Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.