Xamarin.Forms中存储应用程序数据的最佳Environment.SpecialFolder是什么?

我是Xamarin.Forms和移动开发的新手。 我想将我的应用程序用户的用户和加密密码存储在移动设备上的文件中。 我正在使用xamarin表格技术。 我知道有很多不同的文件夹。 例如:

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

什么是商店最好的文件夹/目录:

  • 用户和密码数据
  • 其他应用程序specyfic数据

??

编辑:我发现“个人”对我有好处,但如果你有其他答案也可以发布。 SpecialFolder.Personal位置

存储小的键值对:

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 

/DocumentsiTunes中可见如果在应用程序的info.plist中打开了iTunes共享。 内容可以由iTunes/iCloud备份。

/LibraryiTunes不可见。 可以通过iTunes/iCloud备份,但Caches目录除外。

不需要向用户公开的文件/数据应存储在Library目录中。 防爆。 数据库文件。 我会去Library目录添加安全性和加密(如果需要)。

要进入图书馆路径:

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

要了解有关每个Enumeration与目录Go Here的映射的更多信息。

查找有关iOS 文件系统基础知识的基础知识 。