Xamarin  

Showing Data In Listview With API Using Xamarin Forms

Today, we will discuss how to show data in ListView with API using Xamarin forms in different platforms.
 
Let’s start.
 
Step 1:
 
Open Visual studio and create an Application. Select new project, then cross-platforms, Blank App (Xamarin.Forms Portable) and enter project name (as figure 1).
 
Press OK Button as in the following figure 1.
 
 
Figure 1
 
Once you press OK, you can see 6 more projects loaded in Solution like TestApp (Portable), TestApp.Droid, TestApp.iOS, TestApp.UWP, TestApp.Windows, TestApp.WinPhone.
 
Step 2:
 
Now we will create a new Xaml page for getting data in listview. So Select TestApp (Portable) project -> right click -> select Add -> Select New item as shown in figure 2.
 
 
Figure 2.
 
When you click a new item then dialog opens, select Cross-platform, then Forms Xaml Page and mention name GetdatainList. After that click Add button as in the following figure 3.
 
 
Figure 3
 
Step 3:
 
Now open GetdatainList.xaml page and write the following code,
  1. <StackLayout BackgroundColor="White">  
  2. <ListView x:Name="ListView1" RowHeight="60">  
  3. <ListView.ItemTemplate>  
  4. <DataTemplate>  
  5. <ViewCell>  
  6. <StackLayout Orientation="Vertical" Padding="8,0,8,0">  
  7. <Label Text="{Binding ArticleTitle}" TextColor="#000" FontSize="14" LineBreakMode="TailTruncation" />  
  8. <Label Text="{Binding description}" TextColor="#000" LineBreakMode="TailTruncation" />  
  9. </StackLayout>  
  10. </ViewCell>  
  11. </DataTemplate>  
  12. </ListView.ItemTemplate>  
  13. </ListView>  
  14. </StackLayout>  
After that opens GetdatainList.xaml.cs page and write the following code; create one class for accessing properties and create one method for binding the data with API.
  1. using Newtonsoft.Json;  
  2. using System;  
  3. using System.Collections.Generic;  
  4. using System.Net.Http;  
  5. using Xamarin.Forms;  
  6. namespace Testapp  
  7. {  
  8.   public partial class GetDatainList : ContentPage  
  9.    {  
  10.      public class ItemClass  
  11.       {  
  12.         public string ArticleTitle { getset; }  
  13.         public string description { getset; }  
  14.       }  
  15.      public GetDatainList()  
  16.       {  
  17.         InitializeComponent();  
  18.         LoadData();  
  19.       }  
  20.      public async void LoadData()  
  21.       {  
  22.         var content = "";  
  23.         HttpClient client = new HttpClient();  
  24.         var RestURL = your api url.  
  25.         client.BaseAddress = new Uri(RestURL);  
  26.         client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));  
  27.         HttpResponseMessage response = await client.GetAsync(RestURL);  
  28.         content = await response.Content.ReadAsStringAsync();  
  29.         var Items = JsonConvert.DeserializeObject<List<ItemClass>>(content);  
  30.         ListView1.ItemsSource = Items;  
  31.       }  
  32.    }  
  33. }  
Step 4:
 
Finally build your project when build is successful and then run project. Now you can see result in different platforms as in the following figure 4.
 
Figure 4
 
Summary
 
Today, we discussed how to show data in ListView with API using Xamarin forms. I hope you enjoyed this article.