web-dev-qa-db-ja.com

Xamarin.Formsにアプリケーションデータを保存するのに最適なEnvironment.SpecialFolderは何ですか?

私はXamarin.Formsとモバイル開発の初心者です。ユーザーとアプリケーションユーザーの暗号化されたパスワードをモバイルデバイスのファイルに保存したい。 Xamarin Formsテクノロジを使用しています。多くの異なるフォルダがあることを知っています。例:

System.Environment.SpecialFolder.Personal
System.Environment.SpecialFolder.LocalApplicationData
System.Environment.SpecialFolder.MyDocuments

ここにある完全なリスト: https://msdn.Microsoft.com/en-gb/en-enl/library/system.environment.specialfolder(v = vs.110).aspx

ストアに最適なフォルダー/カタログは何ですか:

  • ユーザーとパスワードのデータ
  • 他のアプリケーション固有データ

編集:私は「個人」が私にとって良いことを発見しましたが、他の答えがあればそれも投稿してください。 SpecialFolder.Personal location

11
zchpit

小さなキーと値のペアの保存:

Xamarin.Formsは、アプリのローカルストレージにキー値データを保存する Application.Current.Properties を実装し、これらのキーと値のペアへのアクセスは、アプリを保存したユーザーのみが安全です。

ドキュメント/データベースの保存(Sqlite):

各プラットフォームには、アプリ固有のデータ/ファイルを下に保存するための独自のフォルダー構造があります。

Android

Environment.SpecialFolder.Personal & MyDocumentsは両方とも/data/data/@PACKAGE_NAME@/filesにマッピングされます

Environment.SpecialFolder.LocalApplicationDataマッピング先:/data/data/@PACKAGE_NAME@/files/.local/share

ファイルシステムでのマッピング方法に基づいて、上記のディレクトリのいずれかにファイルを保存できます。上記のディレクトリには、他のアプリからアクセスすることはできません。また、電話がルート化されていない限り、ユーザーは世界中のディレクトリにアクセスできません。

iOS

Environment.SpecialFolder.Personal, LocalApplicationData & MyDocumentsすべてのマップ先:/Documents

iOSのディレクトリ構造は次のとおりです。

/Documents
/Library
/Library/Application Support
/Library/Caches
/tmp

/Documentsアプリのinfo.plistでiTunes共有がオンになっている場合、iTunesで表示されます。コンテンツはiTunes/iCloudでバックアップできます。

/LibraryiTunesには表示されません。 Cachesディレクトリを除くiTunes/iCloudでバックアップできます。

ユーザーに公開する必要のないファイル/データは、Libraryディレクトリに保存する必要があります。例データベースファイル。必要に応じて、暗号化とともにセキュリティを追加するためにLibraryディレクトリに行きます。

ライブラリパスにアクセスするには:

Path.Combine(Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments), "..", "Library");

ディレクトリを使用した各列挙のマッピングの詳細 Go Here

IOSの基本を見つける ファイルシステムの基本

22
MilanG