如何为移动应用程序制作本地存储存储文件
How can I make a local storage storage file for mobile app
我正在构建一个 Xamarin CrossPlatform 应用程序,它的所有数据库都在云 api 中,
但我想要一个移动设备中的本地存储文件,它可以在有人登录时存储所有登录凭据。
请帮我解决这个问题!
如果您只想保存登录凭据,您应该使用 Xamarin.Essentials Storage
首先,将Xamarin.EssentialsNuGet package添加到每个项目中。
在Android
protected override void OnCreate(Bundle savedInstanceState) {
//...
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState); // add this line to your code
//...
要处理 Android 上的运行时权限,Xamarin.Essentials 必须接收任何 OnRequestPermissionsResult。在所有 Activity 类:
中添加以下代码
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
然后保存:
try
{
await SecureStorage.SetAsync("loginCredential", "loginCredentialValue");
}
catch (Exception ex)
{
// Possible that device doesn't support secure storage on device.
}
检索:
try
{
var loginCredential = await SecureStorage.GetAsync("loginCredential");
}
catch (Exception ex)
{
// Possible that device doesn't support secure storage on device.
}
我正在构建一个 Xamarin CrossPlatform 应用程序,它的所有数据库都在云 api 中, 但我想要一个移动设备中的本地存储文件,它可以在有人登录时存储所有登录凭据。
请帮我解决这个问题!
如果您只想保存登录凭据,您应该使用 Xamarin.Essentials Storage
首先,将Xamarin.EssentialsNuGet package添加到每个项目中。
在Android
protected override void OnCreate(Bundle savedInstanceState) {
//...
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState); // add this line to your code
//...
要处理 Android 上的运行时权限,Xamarin.Essentials 必须接收任何 OnRequestPermissionsResult。在所有 Activity 类:
中添加以下代码public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
然后保存:
try
{
await SecureStorage.SetAsync("loginCredential", "loginCredentialValue");
}
catch (Exception ex)
{
// Possible that device doesn't support secure storage on device.
}
检索:
try
{
var loginCredential = await SecureStorage.GetAsync("loginCredential");
}
catch (Exception ex)
{
// Possible that device doesn't support secure storage on device.
}