{"id":518,"date":"2020-08-08T09:09:02","date_gmt":"2020-08-08T09:09:02","guid":{"rendered":"https:\/\/serkanseker.com\/?p=518"},"modified":"2021-01-13T09:06:47","modified_gmt":"2021-01-13T09:06:47","slug":"xamarin-forms-covid-19-app","status":"publish","type":"post","link":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/","title":{"rendered":"Xamarin.Forms Covid-19 App"},"content":{"rendered":"\n<p>Hello, in this post I will show you the construction of Covid-19 application in Xamarin.Forms. First I will get the data from the service and then show this data in ListView.<\/p>\n\n\n\n<p>I will be using <a href=\"https:\/\/services1.arcgis.com\/0MSEUqKaxRlEPj5g\/arcgis\/rest\/services\/ncov_cases\/FeatureServer\/1\/query?f=json&amp;where=(Confirmed%3E%200)%20OR%20(Deaths%3E0)%20OR%20(Recovered%3E0)&amp;returnGeometry=false&amp;outFields=*&amp;orderByFields=Country_Region%20asc,Province_State%20asc&amp;resultOffset=0&amp;resultRecordCount=250\" target=\"_blank\" rel=\"noreferrer noopener\">this service<\/a> to pull in Covid-19 data. Here, the number of patients, recovered, deaths, etc. for each country are shown.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Covid-19 Model Class<\/h2>\n\n\n\n<p>To properly pull data, a model class is required first. The variable names of this class must be the same as the property names of the JSON file that we will draw. To do this easily, click on the link written above and copy the data. Then go to <a href=\"http:\/\/jsonutils.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">jsonutils.com<\/a> and submit it as a C# class.<\/p>\n\n\n\n<p>Right click on the project and add a class named <strong>Example.cs<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">    public class Example\n    {\n        public string objectIdFieldName { get; set; }\n        public UniqueIdField uniqueIdField { get; set; }\n        public string globalIdFieldName { get; set; }\n        public string geometryType { get; set; }\n        public SpatialReference spatialReference { get; set; }\n        public List&lt;Field&gt; fields { get; set; }\n        public bool exceededTransferLimit { get; set; }\n        public List&lt;Feature&gt; features { get; set; }\n    }\n    public class UniqueIdField\n    {\n        public string name { get; set; }\n        public bool isSystemMaintained { get; set; }\n    }\n\n    public class SpatialReference\n    {\n        public int wkid { get; set; }\n        public int latestWkid { get; set; }\n    }\n\n    public class Field\n    {\n        public string name { get; set; }\n        public string type { get; set; }\n        public string alias { get; set; }\n        public string sqlType { get; set; }\n        public object domain { get; set; }\n        public object defaultValue { get; set; }\n        public int? length { get; set; }\n    }\n\n    public class Attributes\n    {\n        public int OBJECTID { get; set; }\n        public string Province_State { get; set; }\n        public string Country_Region { get; set; }\n        public object Last_Update { get; set; }\n        public double? Lat { get; set; }\n        public double? Long_ { get; set; }\n        public int Confirmed { get; set; }\n        public int Recovered { get; set; }\n        public int Deaths { get; set; }\n        public int Active { get; set; }\n        public object Admin2 { get; set; }\n        public object FIPS { get; set; }\n        public string Combined_Key { get; set; }\n    }\n\n    public class Feature\n    {\n        public Attributes attributes { get; set; }\n    }<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Covid-19 ViewModel Class<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">BaseViewModel.cs<\/h3>\n\n\n\n<p>A BaseViewModel class is required to control the variability of the data. Right click on the project and add a class named <strong>BaseViewModel.cs<\/strong>. It inherits INotifyPropertyChanged interface.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">    public class BaseViewModel : INotifyPropertyChanged\n    {\n        private bool _isLoading { get; set; }\n        public bool IsLoading\n        {\n            get\n            {\n                return _isLoading;\n            }\n            set\n            {\n                if (value != _isLoading)\n                {\n                    _isLoading = value;\n                    NotifyPropertyChanged();\n                }\n            }\n        }\n\n        public event PropertyChangedEventHandler PropertyChanged;\n        protected void NotifyPropertyChanged([CallerMemberName] string propertyName = &quot;&quot;)\n        {\n            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));\n        }\n    }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">APIViewModel.cs<\/h3>\n\n\n\n<p>Now create the <strong>APIViewModel.cs<\/strong> class. In this class, Covid-19 data is taken and placed in the List.<\/p>\n\n\n\n<p>Then go to <strong>Manage NuGet Packages<\/strong> and download the <strong>Newtonsoft.Json<\/strong> plugin. With this plugin, you can easily deserialize the JSON file. In <a href=\"https:\/\/serkanseker.com\/xamarin-top-5-useful-plugins\/\" target=\"_blank\" rel=\"noreferrer noopener\">Top 5 Useful Plugins in Xamarin<\/a> article, I have listed useful plugins.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-csharp\">    public class APIViewModel : BaseViewModel\n    {\n        private List&lt;Attributes&gt; attributeList { get; set; }\n        public List&lt;Attributes&gt; attributes\n        {\n            get\n            {\n                return attributeList;\n            }\n\n            set\n            {\n                if (value != attributeList)\n                {\n                    attributeList = value;\n                    NotifyPropertyChanged();\n                }\n            }\n        }\n        public APIViewModel()\n        {\n            GetDataAsync();\n        }\n        string url = &quot;https:\/\/services1.arcgis.com\/0MSEUqKaxRlEPj5g\/arcgis\/rest\/services\/ncov_cases\/FeatureServer\/1\/query?f=json&amp;where=(Confirmed%3E%200)%20OR%20(Deaths%3E0)%20OR%20(Recovered%3E0)&amp;returnGeometry=false&amp;outFields=*&amp;orderByFields=Country_Region%20asc,Province_State%20asc&amp;resultOffset=0&amp;resultRecordCount=250&quot;;\n        private async void GetDataAsync()\n        {\n            IsLoading = true;\n            HttpClient httpClient = new HttpClient();\n            var response = await httpClient.GetAsync(url);\n            if (response.IsSuccessStatusCode)\n            {\n                var content = await response.Content.ReadAsStringAsync();\n                var posts = JsonConvert.DeserializeObject&lt;Example&gt;(content);\n              List&lt;Attributes&gt;  data = new List&lt;Attributes&gt;();\n                for (int i = 0; i &lt; posts.features.Count; i++)\n                {\n                    data.Add(new Attributes\n                    {\n                        Country_Region = posts.features[i].attributes.Country_Region,\n                        Confirmed = posts.features[i].attributes.Confirmed,\n                        Recovered = posts.features[i].attributes.Recovered,\n                        Deaths = posts.features[i].attributes.Deaths,\n                    });\n                }\n                attributes = data;\n            }\n            else\n            {\n                Debug.WriteLine(&quot;Error when get data!&quot;);\n            }\n            IsLoading = false;\n        }\n    }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-coblocks-highlight\"><mark class=\"wp-block-coblocks-highlight__content\">Notice that this class inherits the <strong>BaseViewModel <\/strong>class.<\/mark><\/p>\n\n\n\n<p class=\"wp-block-coblocks-highlight\"><mark class=\"wp-block-coblocks-highlight__content\">We will also use the <strong>IsLoading <\/strong>bool variable for the ActivityIndicator on the XAML side.<\/mark><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Show Covid-19 Datas in MainPage.xaml<\/h2>\n\n\n\n<p>After taking the data and putting them in the List, let&#8217;s show them in the ListView that we will create in ContentPage. And with an ActivityIndicator, let&#8217;s check if the data is coming in.<\/p>\n\n\n\n<p>There is no need to create a new ContentPage, as the <strong>MainPage.xaml<\/strong> page was added while creating the application.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ListView<\/h3>\n\n\n\n<p>Create a <strong>ListView <\/strong>in MainPage. Instead of typing manually, you can drag and drop from Toolbox. Add a Grid with 2 rows and 3 columns into the <strong>&lt;ViewCell&gt;<\/strong> in the <strong>&lt;DataTemplate<\/strong>&gt;.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\">            &lt;ListView ItemsSource=&quot;{Binding attributes}&quot; RowHeight=&quot;75&quot;&gt;\n                &lt;ListView.ItemTemplate&gt;\n                    &lt;DataTemplate&gt;\n                        &lt;ViewCell&gt;\n                            &lt;StackLayout&gt;\n                                &lt;Grid&gt;\n                                    &lt;Label Text=&quot;{Binding Country_Region}&quot; TextColor=&quot;#ff1e56&quot;  Grid.Row=&quot;0&quot; Grid.ColumnSpan=&quot;3&quot;  Grid.RowSpan=&quot;2&quot; HorizontalTextAlignment=&quot;Center&quot; FontSize=&quot;20&quot;\/&gt;\n                                    &lt;Label Text=&quot;Confirmed&quot; TextColor=&quot;#000000&quot; Grid.Row=&quot;1&quot; Grid.Column=&quot;0&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;{Binding Confirmed}&quot; TextColor=&quot;#706c61&quot; Grid.Row=&quot;2&quot; Grid.Column=&quot;0&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;Recovered&quot; TextColor=&quot;Black&quot; Grid.Row=&quot;1&quot; Grid.Column=&quot;1&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;{Binding Recovered}&quot; TextColor=&quot;#706c61&quot; Grid.Row=&quot;2&quot; Grid.Column=&quot;1&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;Deaths&quot; TextColor=&quot;Black&quot; Grid.Row=&quot;1&quot; Grid.Column=&quot;2&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;{Binding Deaths}&quot; TextColor=&quot;#706c61&quot; Grid.Row=&quot;2&quot; Grid.Column=&quot;2&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                &lt;\/Grid&gt;\n                            &lt;\/StackLayout&gt;\n                        &lt;\/ViewCell&gt;\n                    &lt;\/DataTemplate&gt;\n                &lt;\/ListView.ItemTemplate&gt;\n            &lt;\/ListView&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">ActivityIndicator<\/h3>\n\n\n\n<p>Now create an <strong>ActivityIndicator <\/strong>for control purposes. Bind the <strong>IsLoading <\/strong>variable in the ViewModel class to <strong>IsRunning <\/strong>and <strong>IsVisible <\/strong>here.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\">            &lt;Label Text=&quot;Loading...&quot; \n                   IsVisible=&quot;{Binding IsLoading}&quot;\n                   TextColor=&quot;Blue&quot;\n                   VerticalOptions=&quot;CenterAndExpand&quot;\n                   HorizontalOptions=&quot;CenterAndExpand&quot;\/&gt;\n            &lt;ActivityIndicator \n                IsRunning=&quot;{Binding IsLoading}&quot;\n                IsVisible=&quot;{Binding IsLoading}&quot;\n                Color=&quot;Blue&quot;\n                HorizontalOptions=&quot;CenterAndExpand&quot;\n                VerticalOptions=&quot;CenterAndExpand&quot;\/&gt;<\/code><\/pre>\n\n\n\n<p>MainPage.xaml will look like this.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\">    &lt;ContentPage.Content&gt;\n        &lt;StackLayout&gt;\n            &lt;Label Text=&quot;Loading...&quot; \n                   IsVisible=&quot;{Binding IsLoading}&quot;\n                   TextColor=&quot;Blue&quot;\n                   VerticalOptions=&quot;CenterAndExpand&quot;\n                   HorizontalOptions=&quot;CenterAndExpand&quot;\/&gt;\n\n            &lt;ActivityIndicator \n                IsRunning=&quot;{Binding IsLoading}&quot;\n                IsVisible=&quot;{Binding IsLoading}&quot;\n                Color=&quot;Blue&quot;\n                HorizontalOptions=&quot;CenterAndExpand&quot;\n                VerticalOptions=&quot;CenterAndExpand&quot;\/&gt;\n  \n          &lt;ListView ItemsSource=&quot;{Binding attributes}&quot; RowHeight=&quot;75&quot;&gt;\n                &lt;ListView.ItemTemplate&gt;\n                    &lt;DataTemplate&gt;\n                        &lt;ViewCell&gt;\n                            &lt;StackLayout&gt;\n                                &lt;Grid&gt;\n                                    &lt;Label Text=&quot;{Binding Country_Region}&quot; TextColor=&quot;#ff1e56&quot;  Grid.Row=&quot;0&quot; Grid.ColumnSpan=&quot;3&quot;  Grid.RowSpan=&quot;2&quot; HorizontalTextAlignment=&quot;Center&quot; FontSize=&quot;20&quot;\/&gt;\n                                    &lt;Label Text=&quot;Confirmed&quot; TextColor=&quot;#000000&quot; Grid.Row=&quot;1&quot; Grid.Column=&quot;0&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;{Binding Confirmed}&quot; TextColor=&quot;#706c61&quot; Grid.Row=&quot;2&quot; Grid.Column=&quot;0&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;Recovered&quot; TextColor=&quot;Black&quot; Grid.Row=&quot;1&quot; Grid.Column=&quot;1&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;{Binding Recovered}&quot; TextColor=&quot;#706c61&quot; Grid.Row=&quot;2&quot; Grid.Column=&quot;1&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;Deaths&quot; TextColor=&quot;Black&quot; Grid.Row=&quot;1&quot; Grid.Column=&quot;2&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                    &lt;Label Text=&quot;{Binding Deaths}&quot; TextColor=&quot;#706c61&quot; Grid.Row=&quot;2&quot; Grid.Column=&quot;2&quot; HorizontalTextAlignment=&quot;Center&quot;\/&gt;\n                                &lt;\/Grid&gt;\n                                \n                            &lt;\/StackLayout&gt;\n                        &lt;\/ViewCell&gt;\n                    &lt;\/DataTemplate&gt;\n                &lt;\/ListView.ItemTemplate&gt;\n            &lt;\/ListView&gt;       \n        &lt;\/StackLayout&gt;\n    &lt;\/ContentPage.Content&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>When you run the project, a screen like this will appear. You can change the <strong>statusBarColor<\/strong>, <strong>navigationBarColor <\/strong>etc by playing with the design a little. In <a href=\"https:\/\/serkanseker.com\/xamarin-material-theme\/\" target=\"_blank\" rel=\"noreferrer noopener\">Material Theme in Xamarin<\/a> article I showed you how to do this.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/serkanseker.com\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App-ListView-ActivityIndicator.gif\" alt=\"Xamarin.Forms Covid-19 App ListView ActivityIndicator\" class=\"wp-image-2546\" width=\"300\" height=\"533\"\/><figcaption>Xamarin.Forms Covid-19 App ListView ActivityIndicator<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Related Posts<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" href=\"https:\/\/serkanseker.com\/xamarin-material-theme\/\" target=\"_blank\">Material Theme in Xamarin<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/serkanseker.com\/xamarin-top-5-useful-plugins\/\" target=\"_blank\">Top 5 Useful Plugins in Xamarin<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I will get the data from the service and then show this data in ListView. Here, the number of patients, recovered, deaths, etc. for each country are shown.<\/p>\n","protected":false},"author":1,"featured_media":212,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[572,21,39],"tags":[34,33,4,5],"class_list":["post-518","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nuget","category-xamarin","category-xamarin-forms","tag-activityindicator","tag-listview","tag-xamarin","tag-xamarin-forms"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Xamarin.Forms Covid-19 App - Serkan Seker TR<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Xamarin.Forms Covid-19 App - Serkan Seker TR\" \/>\n<meta property=\"og:description\" content=\"I will get the data from the service and then show this data in ListView. Here, the number of patients, recovered, deaths, etc. for each country are shown.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Serkan Seker TR\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-08T09:09:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-13T09:06:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1\" \/>\n\t<meta property=\"og:image:height\" content=\"1\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"serkanadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"serkanadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/\"},\"author\":{\"name\":\"serkanadmin\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"headline\":\"Xamarin.Forms Covid-19 App\",\"datePublished\":\"2020-08-08T09:09:02+00:00\",\"dateModified\":\"2021-01-13T09:06:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/\"},\"wordCount\":422,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg\",\"keywords\":[\"ActivityIndicator\",\"ListView\",\"xamarin\",\"xamarin.forms\"],\"articleSection\":[\"NuGet\",\"Xamarin\",\"Xamarin.Forms\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/\",\"url\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/\",\"name\":\"Xamarin.Forms Covid-19 App - Serkan Seker TR\",\"isPartOf\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg\",\"datePublished\":\"2020-08-08T09:09:02+00:00\",\"dateModified\":\"2021-01-13T09:06:47+00:00\",\"author\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\"},\"breadcrumb\":{\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage\",\"url\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg\",\"contentUrl\":\"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/serkanseker.com\/tr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Xamarin.Forms Covid-19 App\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#website\",\"url\":\"https:\/\/serkanseker.com\/tr\/\",\"name\":\"Serkan Seker TR\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/serkanseker.com\/tr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5\",\"name\":\"serkanadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g\",\"caption\":\"serkanadmin\"},\"sameAs\":[\"https:\/\/serkanseker.com\"],\"url\":\"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Xamarin.Forms Covid-19 App - Serkan Seker TR","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Xamarin.Forms Covid-19 App - Serkan Seker TR","og_description":"I will get the data from the service and then show this data in ListView. Here, the number of patients, recovered, deaths, etc. for each country are shown.","og_url":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/","og_site_name":"Serkan Seker TR","article_published_time":"2020-08-08T09:09:02+00:00","article_modified_time":"2021-01-13T09:06:47+00:00","og_image":[{"url":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg","width":1,"height":1,"type":"image\/jpeg"}],"author":"serkanadmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"serkanadmin","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#article","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/"},"author":{"name":"serkanadmin","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"headline":"Xamarin.Forms Covid-19 App","datePublished":"2020-08-08T09:09:02+00:00","dateModified":"2021-01-13T09:06:47+00:00","mainEntityOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/"},"wordCount":422,"commentCount":1,"image":{"@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage"},"thumbnailUrl":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg","keywords":["ActivityIndicator","ListView","xamarin","xamarin.forms"],"articleSection":["NuGet","Xamarin","Xamarin.Forms"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/","url":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/","name":"Xamarin.Forms Covid-19 App - Serkan Seker TR","isPartOf":{"@id":"https:\/\/serkanseker.com\/tr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage"},"image":{"@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage"},"thumbnailUrl":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg","datePublished":"2020-08-08T09:09:02+00:00","dateModified":"2021-01-13T09:06:47+00:00","author":{"@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5"},"breadcrumb":{"@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#primaryimage","url":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg","contentUrl":"https:\/\/serkanseker.com\/tr\/wp-content\/uploads\/2020\/12\/Xamarin.Forms-Covid-19-App.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/serkanseker.com\/tr\/xamarin-forms-covid-19-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/serkanseker.com\/tr\/"},{"@type":"ListItem","position":2,"name":"Xamarin.Forms Covid-19 App"}]},{"@type":"WebSite","@id":"https:\/\/serkanseker.com\/tr\/#website","url":"https:\/\/serkanseker.com\/tr\/","name":"Serkan Seker TR","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/serkanseker.com\/tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/841fcc69b248e08e52c4190963caeaf5","name":"serkanadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/serkanseker.com\/tr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/93ddc1f96117bf468976afe93a077eda77de96bcdb48dc749903598a546786a3?s=96&d=mm&r=g","caption":"serkanadmin"},"sameAs":["https:\/\/serkanseker.com"],"url":"https:\/\/serkanseker.com\/tr\/author\/serkanadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/comments?post=518"}],"version-history":[{"count":0,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/posts\/518\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/media\/212"}],"wp:attachment":[{"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/media?parent=518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/categories?post=518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serkanseker.com\/tr\/wp-json\/wp\/v2\/tags?post=518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}