答案 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
来跟踪此情况。
显然,您可以在您的应用程序的本地存储中创建一个配置文件(我认为您不需要在该空间中创建文件的权限)。
当您将信息存储在某处时,只需检索它并将输入值设置为它。