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
Wttr.in22,275
10 days ago286apache-2.0Python
:partly_sunny: The right way to check the weather
Wego7,433
3 months ago1February 27, 201821iscGo
weather app for the terminal
Tropos1,522
2 years ago10mitSwift
Weather and Forecasts for Humans
Wrf1,006
a month ago156otherFortran
The official repository for the Weather Research and Forecasting (WRF) model
Forecastie796
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
Api641
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.
Temps552
2 years ago33mitJavaScript
Simple menubar application based on Electron with actual weather information and forecast.
Weatheralarmclock476
4 years ago2Java
Alarm clock with weather forecast 一款具有天气提醒功能的闹钟
Weatherapp453
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
Readme

What is this repository for?

  • This is weather android app which uses worldweatheronline.com 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 local.properties 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

Dependencies

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
  • com.etsy.android.grid - 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)

Unit-testing

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.
Kotlin
Weather
Forecast
Eventbus