使用Application.Current.Properties缓存数据在Xamarin.forms

时间:2018-03-04 16:08:47

标签: xamarin xamarin.forms

我正在开发一个xamarin表单应用程序。首先,我是xamarin的新手,今天就开始了。但我是一位经验丰富的Android开发人员。我现在要做的是我想存储我的应用程序的本地数据,如Android中的SharedPreference。因此,当用户重新打开应用程序时,应用程序将记住数据。我找到了那些建议使用Application.Current.Properties - https://forums.xamarin.com/discussion/106505/basic-local-storage-how-tohttps://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/application-class/的链接。我尝试过这个。但它没有用。

这是我的测试代码。

 public ItemDetailPage()
    {
        InitializeComponent();

        setLabelValue();
        Application.Current.Properties["testing"] = "this is label restored from the local storage.";
        Application.Current.SavePropertiesAsync();
    }

    private void setLabelValue()
    {
        counter = 1;
        string testing = "this is default label";
        if(Application.Current.Properties.ContainsKey("testing"))
        {
            testing = Application.Current.Properties["testing"].ToString();
        }
        this.FindByName<Label>("labelTest").Text = testing;

    } 

根据上面的代码,当我第一次访问该页面时,它应该将标签值设置为&#34;这是默认标签&#34;。但是对于随后的访问,标签值应为&#34;这是从本地存储恢复的标签&#34;。当我第二次访问该页面时,它给了我这个错误。 enter image description here

0 个答案:

没有答案