コード例 #1
0
        public async Task <WeatherDataForecast> GetForecastData(string query)
        {
            var current = Connectivity.NetworkAccess;

            if (current == NetworkAccess.Internet)
            {
                // NO CONNECTION
                WeatherDataForecast weatherData = null;
                try
                {
                    var response = await _client.GetAsync(query);

                    if (response.IsSuccessStatusCode)
                    {
                        var content = await response.Content.ReadAsStringAsync();

                        weatherData = JsonConvert.DeserializeObject <WeatherDataForecast>(content);
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("\t\tERROR {0}", ex.Message);
                }

                return(weatherData);
            }
            else
            {
                return(null);
            }
        }
コード例 #2
0
        async void OnGetWeather(string city)
        {
            if (!string.IsNullOrWhiteSpace(city))
            {
                WeatherDataForecast weatherData = await _restService.GetForecastData(GenerateRequestUri(Constants.OpenWeatherMapEndpointForecast, city));

                if (weatherData == null)
                {
                    this.DisplayAlert("", "No internet connection", "OK");
                }
                else
                {
                    weatherData.List[0].Main.Temp = weatherData.List[0].Main.Temp + "°C ";
                    weatherImage.Source           = "http://openweathermap.org/img/w/" + weatherData.List[0].Weather[0].Icon + ".png";
                    Day_0.Text     = System.DateTime.Now.AddDays(1).DayOfWeek.ToString();
                    Day_1.Text     = System.DateTime.Now.AddDays(2).DayOfWeek.ToString();
                    Day_2.Text     = System.DateTime.Now.AddDays(3).DayOfWeek.ToString();
                    BindingContext = weatherData;
                    Application.Current.Properties["city"] = city;
                }
            }
        }