>

현재 URL에서 .json 데이터를 가져 와서 Xamarin의 ListView에 표시하는 응용 프로그램을 개발 중입니다.

URL은 다음과 같습니다. https://www.mrniato.com/mysql_to_json.php 모든 "펌웨어"를 가져오고 싶습니다.

ListView에 표시하는 데 사용할 코드에 대한 도움이 필요합니다.

이미 인터넷에서 발견 된 코드를 시도했지만 성공하지 못했습니다 ...

답장 주셔서 감사합니다.


  • 답변 # 1

    HttpClient를 사용하여 데이터를 요청할 수 있습니다. 여기 Get 에 대한 간단한 스 니펫이 있습니다. 서버에서 요청 :

    using (var client = new HttpClient()){ 
       HttpResponseMessage response = await client.GetAsync(requestUrl);
            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                    string content = await response.Content.ReadAsStringAsync();
                    Grab grab = JsonConvert.DeserializeObject<Grab>(content);
                    List<Grab.Date> dates = grab.PS4_Beta;
                    foreach (var item in dates)
                    {
                        Log.Error("Firmware", "==" + item.Firmware);
                    }
            }
    
    
    content  Newtonsoft.Json너겟

    을 사용하여 서버를 사용자 정의 데이터 모델로 변환 할 수 있습니다.

    예를 들어 다음과 같은 모델 :

    class Grab 
    {
        [JsonProperty(PropertyName = "PS4_Beta")]
        public List<Data> PS4_Beta{ get; set; }
        public class Data
        {
            [JsonProperty(PropertyName = "Firmware")]
            public string Firmware { get; set; }
            [JsonProperty(PropertyName = "Size")]
            public string Size { get; set; }
            [JsonProperty(PropertyName = "MD5")]
            public string MD5 { get; set; }
        }
    }
    
    

    HttpClient를 사용하여 REST 서비스 소비를 참조 할 수 있습니다

    마지막으로 JKL의 링크로 ListView로 표시 할 수 있습니다.

    ListView :

      Grab grab = JsonConvert.DeserializeObject<Grab>(content);
       List<Grab.Date> dates = grab.PS4_Beta;
       ObservableCollection<string> FirmwareList = new ObservableCollection<string>();
       foreach (var item in dates)
           {
              FirmwareList.Add(item.Firmware);
           }
       listView.ItemSource = FirmwareList ;
    
    

  • 이전 일련의 명령을 실행하기 위해 R 객체 할당
  • 다음 python - 행을 반복