Skip to content

thanhliem-SE/android-app-weather-forecast

Repository files navigation

Weather-Forecast-App

A simple weather forecast Android app.

The purpose of this project was to develop an Android application using the Java programming language and to improve skills as an Android developer.

Features

Request and display the weather information correspondig to the current user location. Request and display the weather information correspondig to the specific city. Request and display the weather information by daily or hourly.

Weather API

The weather information is provided by the World Weather Data API

Results

imageimageimage

Acquired knowledge

The development process involved learning the following topics:

  • Layouts: Design custom layouts
  • Components: Create custom and reusable view components.
  • Data binding: Design custom layouts
  • Binding adapters: Are responsible for making the appropriate framework calls to set values.
  • ViewModel: Class for the UI controller that is responsible for preparing data for the UI.
  • LiveData: An observable, lifecycle-aware data holder class.
  • MVP Architecture: Best practices and recommended architecture pattern for building robust, production-quality apps.
  • FusedLocationProvider:To access user's location
  • Retrofit API: A robust HTTP client to manage network requests.
  • Picasso API: A powerful image downloading and caching library for Android
  • Secret Gradle Plugin: A Gradle plugin for providing your secrets securely to your Android project.