シンプルなXamarin Formsアプリがあります。単純なPOCOオブジェクト(たとえば、User
インスタンス、または最新のツイートや注文などのリスト)を取得しました。
このオブジェクトをデバイスにローカルに保存するにはどうすればよいですか? JSONとしてシリアル化すると想像してみましょう。
また、このデータはどの程度安全ですか?キーチェーンなどの一部ですか?自動バックアップしましたか?
乾杯!
いくつかのオプションがあります。
どのルートがあなたのニーズに最も合っているかを調査し、見つける必要があると思います。
セキュリティに関しては、各デバイスのどこにデータを置くかによって異なります。 Androidは、デフォルトでセキュアなアプリフォルダーにアプリデータを保存します(ルート化されている場合、セキュアではありません)。 iOSには、さまざまなニーズに基づいたデータストレージ用のいくつかの異なるフォルダーがあります。詳細はこちら: iOS Data Storage
別のオプションは、xamarin forms settings plugin https://github.com/jamesmontemagno/SettingsPlugin です。ストアが必要な場合、例えばユーザーインスタンスは、読み取り時にJSONにシリアル化し、読み取り時にシリアル化解除するだけです。
ネイティブ設定管理を使用します
Windows RT/UWP:ApplicationDataContainer
public User CurrentUser
{
get
{
User user = null;
var serializedUser = CrossSettings.Current.GetValueOrDefault<string>(UserKey);
if (serializedUser != null)
{
user = JsonConvert.DeserializeObject<User>(serializedUser);
}
return user;
}
set
{
CrossSettings.Current.AddOrUpdateValue(UserKey, JsonConvert.SerializeObject(value));
}
}
Xamarin.Essentials
を使用してください
Preferencesクラスは、アプリケーション設定をキー/値ストアに保存するのに役立ちます。
値を保存するには:
Preferences.Set("my_key", "my_value");
値を取得するには:
var myValue = Preferences.Get("my_key", "default_value");