Если я храню данные с использованием предпочтений Xamarin.Essentials, то как мне получить эти данные в операции Android Spla sh? - PullRequest
2 голосов
/ 18 апреля 2020

Если вы используете класс предпочтений Xamarin.Essentials для хранения настроек приложения в хранилище ключей / значений.

Preferences.Set("my_key", "my_value");

Тогда как я могу получить это обратно в SplashActivity application?

Пожалуйста, ОБРАТИТЕ ВНИМАНИЕ, аналогичный вопрос / ответ по SO, которому уже более 9 лет, с ответом на ссылки, которых больше не существует.

Ответы [ 2 ]

2 голосов
/ 18 апреля 2020

Начнем с того, что экраны Android Spla sh являются обычными Android Активности.

Также пакет Xamarin.Essentials устанавливается как часть проекта Xamarin. Android, который позволяет Вы можете использовать его так же, как и в общем проекте.

Сказав выше, вы можете получить значения предпочтений из проекта Android с помощью Xamarin.Essentials, используя что-то вроде:

bool isNewClient = Xamarin.Essentials.Preferences.Get("Key", defaultValue: true);

Надеюсь, это поможет .-

2 голосов
/ 18 апреля 2020

Вкл. Android, Xamarin.Essentials: Предпочтения использует встроенные «SharedPreferences», поэтому для извлечения строки из SharedPreferences из строки, хранящейся в Essentials, это будет работать:

var sharedName = $"{AppInfo.PackageName}.xamarinessentials.versiontracking";
var sharedPreferences = Application.Context.GetSharedPreferences(sharedName, FileCreationMode.Private);
var value = sharedPreferences.GetString(yourKey, null);

Вы можете просмотреть реализацию Essentials Android по следующей ссылке, чтобы увидеть код Xamarin:

re: https://github.com/xamarin/Essentials/blob/develop/Xamarin.Essentials/Preferences/Preferences.android.cs

Примечание : я не верю, что в настройках Xamarin.Essentials или VersionTracking вообще используется инициализированное приложение Forms, так что вы можете просто ссылаться на API настроек Essentials * прямо в вашей SplashActivity вместо прямого использования нативного звонки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...