首页 > 解决方案 > 如何使用 Xamarin.Auth 将凭据存储在列表中并继续为其添加价值?

问题描述

我正在存储一些卡片凭证,我希望在列表中显示最后 4 位数字,但我不确定如何继续添加数据。

使用我当前的代码,它不会继续添加到列表中,而是替换旧代码。

async void AddCard (object s, Eventargs e) 
{
    Account account = new Account();
    account.Username = "Credentials";
    account.Properties.Add("LastFour", LastFourString);
    account.Properties.Add("CardBrand", BrandString);
    account.Properties.Add("CardToken", TokenString);
    AccountStore.Create().Save(account, "Credentials");
    AddNewCard();
}

public class Info
{
    public string LastFour { get; set; }
    public string CardBrand { get; set; }
    public string CardToken { get; set; }
} 

async void AddNewCard()
{

    var Account = AccountStore.Create().FindAccountsForService("Credentials");
        var InfoList = new List<Info>();

        foreach (var Data in Account)
        {
            InfoList.Add(new Info()
            {
                LastFour = "**********" + Data.Properties["LastFour"],
                CardBrand = Data.Properties["CardBrand"]
                CardToken = Data.Properties["CardToken"]

            });
        }
        CardListView.ItemsSource = InfoList;
}

标签: xamarinxamarin.forms

解决方案


首先,尽可能避免异步无效。例如,AddCard 方法似乎是一个按钮的事件处理程序,因此它的签名是固定的,但您可以使用 async Task 添加新卡方法。

根据您的要求,您可以轻松使用https://docs.microsoft.com/en-us/xamarin/essentials/secure-storage


推荐阅读