前提・実現したいこと
RandomUserGeneratorのAPIを使って名前と写真を表示したいです。以下のサイトを参考にURL部分を編集して名前を表示させようとしたのですが、うまくいきません。
https://qiita.com/rykgy/items/942d4e34be279fe06105
他にどの部分を編集すればよいでしょうか。どなたか回答よろしくお願い致します。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using Xamarin.Forms; 6using System.Threading.Tasks; 7using System.Net.Http; 8using System.Runtime.Serialization.Json; 9using System.IO; 10using Newtonsoft.Json; 11 12 13namespace toshiapp 14{ 15 public partial class GeneratorPage : ContentPage 16 { 17 public ListView listView; 18 public List<QiitaArticleEntity> articleList; 19 20 public GeneratorPage () 21 { 22 InitializeComponent (); 23 24 listView = new ListView 25 { 26 RowHeight = 60 27 }; 28 29 listView.ItemsSource = new String[] { 30 "ダミーテキスト", 31 "ダミーテキスト", 32 "ダミーテキスト", 33 "ダミーテキスト", 34 "ダミーテキスト", 35 }; 36 37 Content = new StackLayout 38 { 39 VerticalOptions = LayoutOptions.FillAndExpand, 40 Children = { listView } 41 }; 42 43 fetchArticles(new RandomAPI()); 44 } 45 46 // 非同期でデータ取得のメソッドを実行するメソッド 47 async void fetchArticles(RandomAPI api) 48 { 49 50 try 51 { 52 // 取得したデータをListに設定 53 articleList = await api.AsyncGetWebAPIData(); 54 55 var items = new List<String>(); 56 foreach (QiitaArticleEntity value in articleList) 57 { 58 items.Add(value.name); 59 } 60 listView.ItemsSource = items; 61 } 62 // エラー表示処理 63 catch (System.Exception ex) 64 { 65 await DisplayAlert("Error", ex.Message.ToString(), "OK"); 66 } 67 68 } 69 } 70}
該当のソースコード
C#
1using System; 2using System.Collections.Generic; 3using System.Threading.Tasks; 4using Xamarin.Forms; 5using System.Net.Http; 6using System.Runtime.Serialization.Json; 7using Newtonsoft.Json; 8 9namespace toshiapp 10{ 11 public class RandomAPI 12 { 13 public List<QiitaArticleEntity> articleList; 14 15 // QiitaAPIのURl 16 public string API_URL = "https://randomuser.me/api/"; 17 18 // データを取得するメソッド 19 public async Task<List<QiitaArticleEntity>> AsyncGetWebAPIData() 20 { 21 // Listの作成 22 articleList = new List<QiitaArticleEntity>(); 23 // HttpClientの作成 24 HttpClient httpClient = new HttpClient(); 25 // 非同期でAPIからデータを取得 26 Task<string> stringAsync = httpClient.GetStringAsync(API_URL); 27 string result = await stringAsync; 28 // JSON形式のデータをデシリアライズ 29 articleList = JsonConvert.DeserializeObject<List<QiitaArticleEntity>>(result); 30 31 // List でデータを返す 32 return articleList; 33 } 34 } 35 36 public class QiitaArticleEntity 37 { 38 public string name { get; set; } 39 } 40} 41
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。