Skip to content

msoftware/Open-Weather-API-Wrapper

 
 

Repository files navigation

Open-Weather-API-Wrapper

Download Twitter Build Status

sun.png

Open Weather API Wrapper is an Android wrapper for the APIs of https://openweathermap.org. This library handles all the network operations and parameter validations on behalf of the developer.

##Dependency:

  • Add below lines to app/build.gradle file of your project.
dependencies {
    compile 'com.kevalpatel2106:open-weather-wrapper:1.0'
}

##How to use this library?:

  • Initialization:

Initialize the library in your launch activity by providing the open weather api key and the unit system you want to use throughout the application. If you don't have the open weather api key, you can generate it from here.

   OpenWeatherApi.initialize("YOUR API KEY", Unit.STANDARD);
  • Accessing the API:

Open weather api provides you functions to access below information:

  • Get current weather for provided city, geo point or postal code.
  • Get three hourly forecast for city or, geo point.
  • Get the daily forecast for provided city or geo point.

You can get the required information by passing the required parameters. The information will be received in specific listeners.

Here is the example of getting the three hourly forecast of the weather by city name.

OpenWeatherApi.getThreeHoursForecast("Landon,uk", new ForecastListener() {
    @Override
    public void onResponse(WeatherForecast weatherForecasts) {
        //Forecast received.
        //Do someting
    }

    @Override
    public void onError(String message) {
        //Something went wrong.
        //Display the error message to the user.
    }
});

Open Weather API Wrapper uses RxJava and Retrofit to handle the network operations.

##Demo:

  • You can download the sample application from here.

##Contribute:

  • Still there are many open weather apis to implement. Any pull request are most welcome. Simple 3 step to contribute into this repo:
  1. Fork the project.
  2. Make required changes and commit.
  3. Generate pull request. Mention all the required description regarding changes you made.

##Questions: If you have any questions, hit me on twitter @kevalonly77 .

Packages

No packages published

Languages

  • Java 100.0%