xamarin.forms中的页面加载异步

时间:2015-03-21 11:41:55

标签: c# asynchronous xamarin

我目前正在开发一个基于Master Detail模板的小应用程序。我的一个Pages需要立即加载一些数据,我不知道该怎么做。在每个示例中,一旦用户按下按钮,就会加载数据。

这是我目前的代码:

string test = async (sender, e) => {

    Task<string> json = GetRandomRelations ();
    return await json;
};

我的方法

public async Task<string> GetRandomRelations () {

        var client              = new System.Net.Http.HttpClient ();
        client.BaseAddress      = new Uri("http://127.0.0.1/loltools/web/app_dev.php/api/relation/");
        string response         = await client.GetStringAsync("random/20");

        return response;
    }

我目前正在尝试获取json响应,但我甚至无法做到这一点......我的主要问题是我无法将lambda表达式转换为字符串...

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

  

我的一个页面需要立即加载一些数据,我不知道该怎么做。

想一想。你真正要问的是如何调和两个相反的要求:

  1. 该页面必须立即显示一些数据。用户界面必须具有响应性。数据必须同步显示才能显示。
  2. 异步检索数据。它不能立即使用。即使获取要显示的数据也需要一些(未知)的时间。
  3. 所以,显然,没有直接的解决方案。相反,您必须以不同的方式满足两个核心要求(&#34; UI必须响应&#34;以及&#34;数据以异步方式检索&#34;)。一种常见的方法是(立即和同步)显示&#34; Loading ...&#34;查看数据 - 一个微调器或诸如此类的东西。然后,在数据到达时更新显示。

答案 1 :(得分:-1)

我并不完全确定你要做什么但是简单的错误是什么:

string test = await GetRandomRelations ();