Xamarin.forms如何自动保存用户名,如浏览器

时间:2016-05-30 09:21:29

标签: xamarin xamarin.ios xamarin.android xamarin.forms

我正在使用 Xamarin.Forms

开发移动应用程序

我有以下主页包含登录信息:

enter image description here

我们如何让应用程序自动保存用户名,这样他们就不必每次都输入它(如在浏览器中)?

4 个答案:

答案 0 :(得分:4)

您可以在Xamarin.Forms Properties类中使用Application字典。让Xamarin.Forms框架处理应用重启和暂停/恢复应用之间的持久用户名。

通过将用户名写入Properties词典

来保存用户名
var properties = Xamarin.Forms.App.Current.Properties;
if(!properties.ContainsKey("username")
{
    properties.Add("username", username);
}
else
{
    properties["username"] = username;
}

然后,当您的登录屏幕即将出现时(例如,在OnAppearing方法中),请检查Properties以获取用户名:

var properties = Xamarin.Forms.App.Current.Properties;
if(properties.ContainsKey("username")
{
    var savedUsername = (string)properties["username"];
}

如果它不存在,那么这意味着这是用户首次登录您的应用程序。

答案 1 :(得分:2)

几天前提出了一个非常类似的问题 - 我对这个问题的回答也适用于你的问题:The best way to save Configuration data in Xamarin.Forms based app?

实际上,您希望使用本机设置功能存储信息。我现在建议使用Application.Properties 反对。它目前在Android上不可靠,过去还有其他问题。我链接的答案中引用的nuget包是一种更好的方法,将来会为您节省一些麻烦。

答案 2 :(得分:1)

正确的方法是通过App设置插件 https://github.com/jamesmontemagno/Xamarin.Plugins/tree/master/Settings

我在申请表中所做的是。

1)已安装的插件。来自nuget的设置

2)添加到Helpers-> Settings.cs(通过插件自动生成的文件)以下

    public static class Settings
            {
                private static ISettings AppSettings
                {
                    get { return CrossSettings.Current; }
                }

                private const string UserNameKey = "username_key";
                private static readonly string UserNameDefault = "demo"; 
                public static string UserName
                {
                    get { return AppSettings.GetValueOrDefault<string>(UserNameKey, UserNameDefault); }
                    set { AppSettings.AddOrUpdateValue<string>(UserNameKey, value); }
                } 
    }

3)为了将用户名保留在应用程序上下文集中

Settings.UserName = ViewModel.Username;

4)当您登录屏幕时

string username = Settings.UserName;

答案 3 :(得分:0)

答案很简单: persistance 。服务器通过设置包含他们希望您在呈现表单字段时看到的数据(或引用它)的cookie来执行此操作。

为了在app(例如Xamarin)中执行此操作,您需要将用户的数据存储到某个文件或数据库中。由于您使用的是Xamarin,因此您可以使用某种ConfigurationManager来跟踪此情况。 显然,您可以在您的应用程序的本地存储中创建一个配置文件(我认为您不需要在该空间中创建文件的权限)。

当您将信息存储在某处时,只需检索它并将输入值设置为它。