Как я могу сделать файл локального хранилища для мобильного приложения - PullRequest
0 голосов
/ 25 января 2019

Я создаю приложение Xamarin CrossPlatform, вся его база данных находится в облачных API, но мне нужен локальный файл хранилища на мобильном устройстве, в котором хранятся все учетные данные при входе в систему.

Пожалуйста, помогите мне через это!

1 Ответ

0 голосов
/ 25 января 2019

Если вы хотите просто сохранить учетные данные для входа, вы должны использовать Xamarin.Essentials Storage

Сначала добавьте пакет Xamarin.Essentials NuGet в каждый проект.

В 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.Добавьте следующий код ко всем классам действий:

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.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...