01/10/2018, 00:42

Sử dụng open weather API?

mấy bác fix dùng em với w.name, w.id chạy xong nó vẫn = rỗng

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace Integration3partyAPI
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
    string IDup;
    string Location;
    public MainPage()
    {
        this.InitializeComponent();
        
    }
    private HttpClient client = new HttpClient();
    private async Task DuLieuInput(object sender, RoutedEventArgs e)
    {
        client.BaseAddress = new Uri("http://localhost:55268/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        string DiaDiem = "ho chi minh";
        string key = "177b2eb94701680dac9f9ba37bdaa58b";
        
        HttpResponseMessage respon = await client.GetAsync("?q=" + DiaDiem + "&APPID=" + key);
        if (respon.StatusCode == HttpStatusCode.OK)
        {
            ThongTinWeather w = respon.Content.ReadAsAsync<ThongTinWeather>().Result;
            IDup = w.id;
            Location = w.name;
        }
    }

    private void btnUpdate_Click(object sender, RoutedEventArgs e)
    {
        txtID.Text += IDup;
        txtDiaDiem.Text += Location;
    }
} 
}

 namespace Integration3partyAPI
{
   class ThongTinWeather
{
    public string name { get; set; }
    public string id { get; set; }
}
}

Ngô Quốc Toản viết 02:50 ngày 01/10/2018

Trong response trả về, phương thức ReadAsync bạn phải sử dụng từ khoá await thay vì lấy kết quả theo cách đồng bộ . Result
Thứ 2 là kiểu dữ liệu trả về là Json, bạn phải Parse dữ liệu rồi mới gán cho ThoiThietInfo

Bài liên quan
0