如何在windows phone 8.1应用程序中快速从URL获取JSON数据

本文关键字:URL 获取 数据 JSON 应用程序 windows phone | 更新日期: 2023-09-27 18:17:13

我正在开发一个windows phone应用程序。

在这个应用程序中,我从服务URL和绑定到列表框中获取JSON数据。在这个JSON数据中有2500个城市。这些城市从服务和绑定到列表框需要5分钟的时间。

那么如何从服务中快速获取数据呢?请帮帮我。

代码如下:

 public async void insertcities()
        {
            try
            {

                await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () =>
                {

                    var busclient = new Newpavanapp.JsonWebClient();
                    var Busresp1 = await busclient.DoRequestAsync(Url.weburl + "getCities");
                    string Busresult1 = Busresp1.ReadToEnd();
                    JArray BusjsonArray = JArray.Parse(Busresult1);
                    for (int j = 0; j < BusjsonArray.Count; j++)
                    {
                        JObject jobj = (JObject)BusjsonArray[j];
                        string id = (string)jobj["cityid"];
                        string cityname = (string)jobj["cityname"];

                        city cit = new city();
                        cit.cityname = cityname;
                        Fromcityname1.Items.Add(cityname);
                        Tocityname1.Items.Add(cityname);
                        Db_Helper.Insert(new Buscities(id, cityname));
                        UserProfileList.Add(cit);
                        //  citieslist.Add(cityname);
                    }

                });

如何在windows phone 8.1应用程序中快速从URL获取JSON数据

好的,那么首先:你的代码片段不足以重现问题,但我认为你的代码获取数据是好的,你有绑定问题。

你写的

:

这些城市从服务到绑定到列表框需要5分钟的时间。

检查,下载数据不绑定需要多少时间。因为绑定可能是最耗时的操作。如果你尝试绑定2500个元素,而你不使用虚拟化,这在windows phone上可能会出现问题。尝试将listview与虚拟化一起使用(它可能很有帮助)。

@Update (17:30 - 12.10.2015)

是的。它下载数据快。但是每当绑定数据的时候只需要时间。那我该怎么办呢?请帮帮我。请给我任何样品。

好的,在我看来:您不应该同时绑定所有元素。阅读关于列表框中的增量加载(当滚动到底部时加载更多项目到列表框)。您可以下载所有的项目,并添加到itemssource只有其中的一部分,并在用户滚动到结束后加载更多。