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

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

问题描述:

我是Xamarin.Forms和移动开发新手。我想将我的应用程序用户的用户和加密密码存储在移动设备上的文件中。我正在使用xamarin表单技术。我知道有很多differenet文件夹。在例如:Xamarin.Forms中用于存储应用程序数据的最佳Environment.SpecialFolder是什么?

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 location

存放小键值对:

Xamarin.Forms实现Application.Current.Properties存储在应用程序和访问这些键值对的本地存储的键值数据是安全的到应用程序只有谁存储他们。

存储文件/数据库(SQLite的):

每个平台都有它自己的文件夹结构下存储的应用程序特定的数据/文件。

的Android

Environment.SpecialFolder.Personal & MyDocuments都映射到:/data/data/@[email protected]/files

Environment.SpecialFolder.LocalApplicationData映射为:/data/data/@[email protected]/files/.local/share

我们可以存储在任何基于它们是如何在文件中映射上述目录的文件系统。 上述目录都不能被其他应用程序访问,用户也不能在世界之外访问它们,除非电话是根植的。

的iOS

Environment.SpecialFolder.Personal, LocalApplicationData & MyDocuments所有地图:/Documents

iOS版具有以下目录结构:

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

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

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

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

要到库路径:

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

要了解更多关于每个枚举的映射与目录Go Here

查找有关iOS File System Basics的基本信息。