Weather Android

Example how to use dagger2
Alternatives To Weather Android
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Weatherapp453
2 years ago1mitKotlin
5 Day Forecast app that works on Android and uses latest tools (Kotlin, Navigation, Room, LiveData, Databinding, Dagger 2)
Open Source Android Weather App81
2 years ago6mitJava
☔️ Open source android weather app. See "Issues" tab for current tasks queue. Tasks suitable for beginners are labeled with green "beginner friendly" tags.
Just Weather65
6 years ago1Java
Real world sample of code architecture MVP with RxJava2, Dagger2, Retrofit2 and Realm. Offline first approach.
Weather Android21
8 years agoJava
Example how to use dagger2
Kingweather19
4 years ago1mitKotlin
:cloud: 一个基于Jetpack构建的MVVM天气预报APP。你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Tddweatherapp18
4 years agoKotlin
Android App trying to apply TDD and using MVVM, Kotlin Coroutines
Weather Guru Mvp15
6 years agomitJava
Sample Material-design Android weather application build with MVP architectural approach using Dagger2, RxJava2, Retrofit2, Event-Bus, GreenDao, Butterknife, Lottie etc.
Android Forecast15
9 months agoKotlin
forecast mvp dagger2 retrofit
Weather App Android Mvvm Dagger7
a year agomitKotlin
Openweathermapapp3
2 years agomitKotlin
This App was built to practice on MVP architecture, RxJava and Retrofit.
Alternatives To Weather Android
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 Dagger2 Projects
Popular Weather Projects
Popular Libraries Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Weather
Dependency Injection
Forecast
Event Bus
Dagger2