Skip to content

Prof-MohamedAtef/Weather-SwensonHe

Repository files navigation

Weather-SwensonHe

This is an Assessment Task to build a weather app.

This app is built using kotlin, depending on MVVM design pattern.

This app is able to run on Phones and Tablets

** This app includes layout for portrait and Landscape screens specially when screen width is bigger than 600dp.

Used libraries:

  1. lifecycle libraries for viewmodel, livedata, and savedstate.
  2. Retrofit2.
  3. OkHttp for logging interceptor purpose.
  4. gson library for parsing JSON format.
  5. Picasso and Glide are used for displaying images.
  6. App support data binding.

This app consists of:

  1. MainActivity.kt displaying weather data.
  2. There are 2 layouts, portrait and landscape to support devices with screen sizes +600dp.
  3. AppBarFragment.kt
  4. SearchViewFragment.kt
  5. WeatherViewModel.kt and WeatherViewModelFactory.kt files.
  6. WeatherRepository.kt
  7. There are 3 Interface files: OnArrowPressed, OnSearchPressed, and OnSearchResultSelected.
  8. There are 9 files considered as data classes inside the model package.
  9. RetrofitServiceInterface exists to help communicate to our webservice.
  10. Util file help to utilize some resources in the device.
  11. xml files: provides support for both portrait and landscape orientations.
  12. fragment_search.xml is enhnaced and developed for appearing on both portrait and landscape with different behaviors.

Screenshots of the app

6_swen 7_swen 8_swen 1_swen 2_swen 3_swen 4_swen 5_swen

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages