June 29, 2015

Weather Condition and Forecast App using Xamarin android

Weather is also a another name for "Uncertainty". which is nearly impossible to predict. especially in rainy season changes its mode in a quick time without any clue.

By keeping this in mind, just i have made an attempt to bring the Weather Condition and Forecast estimation app by using the Yahoo weather API.

This includes following details for your preferred Location,
Temperature
Humidity
WindSpeed
Visibility
Weather Status
Sunrise
Sunset
And Forecast details for the next four days.

Features :
-> Provides the weather details based on the phone current GPS location.

-> Keyword based auto completion search by using google place api.

-> Instant weather updates from yahoo weather api.

-> Without using any 3D/heavy graphics, focusing on the real-time and accurate data with symbolic weather and lighter UI representation.

-> Phone support for 3.5'' display screen to 10'' tablet.

[3.5'' Small Screen]
 
[5.5'' Normal screen]
 
[7.0'' Tablet Screen]





















 
Download and Install the app

  • Xamarin component's that i made used :
-) GeoLocator
-) Newtonsoft
-) UrlImageViewHelper

  •  What app does is in breif,
 Takes location as a input and downloads weather data from yahoo. Parse on the downloaded data and present in UI that's all :)
  •  In detail,
 ->On app launch, Provided two option to input an location:
 1. Using Phone current location. If phone Location is OFF, launch the location 

setting by prompting to ON the Location.
 On tap of label using GeoLocator component get the current Longitude and latitude. Using these get the location from GeoCoder.


 2. Keyword based autocompletion search for a location using Google place API. 

exactly copy paste from my previous post Google Place API with Autocomplete in Xamarin Android.

>Using above find location,download the yahoo weather information in the JSON format.[refer making use of REST request]
 Yahoo API :

https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid in (select woeid from geo.places(1) where text='-LocationTexthere-') and u='c'&format=json
 >Parse the dowloaded JSON string to class object using the xamarin component "Newtonsoft"

 >Bind the Class object values to the UI. Wetaher status image can be get from the url "http://l.yimg.com/a/i/us/we/52/-code-.gif". Pass the respective code as a image name. xamarin component "UrlImageViewHelper" is used to display the image.