xml - 如何为移动应用程序制作本地存储存储文件
问题描述
我正在构建一个 Xamarin CrossPlatform 应用程序,其所有数据库都在云 api 中,但我想要一个移动设备中的本地存储文件,该文件在有人登录时存储所有登录凭据。
请帮我解决这个问题!
解决方案
如果您只想保存登录凭据,则应使用Xamarin.Essentials Storage
首先,将 Xamarin.Essentials NuGet 包添加到每个项目。
在安卓中
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.
}
推荐阅读
- c - C程序创建一个简单的计算器
- android - 具有多对多关系的房间数据库:在查询过滤数据时返回单个条目
- android - 如何使用 GSON 实现 json?得到一个错误
- python - 新对象不会追加到列表
- node.js - 来自 Heroku 托管的 Express 的“应用程序崩溃”和 503 错误响应
- python - Masonite - TypeError > 使用 Auth 登录方法时没有字符串参数的编码
- image-processing - 图像为 JPEG,但 Torchvision 显示图像扩展名不受支持
- ethereum - 如何从 Metamask 获取账户地址?
- java - 如何停止在android中循环声音?
- c# - 如何从 SQL Server 数据库表列中获取男性或女性并在转发器控件中显示记录?