2014-09-22 256 views
1

我是Xamarin.Forms的新手,并且想要使用导出为CSV/PDF在设备中保存CSV,PDF等文件。如何访问Xamarin.Forms for iOS和Android中的目录路径?

要做到这一点,我需要访问设备目录和路径。但是使用Xamarin.Forms,我怎样才能访问iOS的Xamarin.Forms目录和路径& Android?

在此先感谢!

+0

Android的具体(图片,例如,在):var javaFile = Android.OS.Environment.GetExternalStoragePublicDirectory (Android.OS.Environment.DirectoryDcim); //使用javaFile.AbsolutePath,然后javaFile.Dispose() – Barton 2015-03-16 21:45:08

回答

4

System.Environment.GetFolderPath不能与PCL项目一起使用(但共享项目,它可以) 如果您打算使用PCL路径,则可以使用“依赖项服务”功能。从具体类(距离Ios/Android的)注入

http://developer.xamarin.com/guides/cross-platform/xamarin-forms/dependency-service/

使用接口(上PCL)。 (声音难,但很容易)

+0

我认为这个答案可以通过执行这个工作的代码片段来改进。 – Karol 2016-08-15 09:34:14

+0

https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/ – 2016-09-23 09:38:27

2

您可以使用System.Environment.GetFolderPath来帮助解决这类问题。

即: -

string strFolderPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal); 

的Android这将返回沿/数据/数据线的东西/ MyProject的/文件

然后,您可以只是你的文件名追加到年底然后开始创建并写入文件等。

+1

以上示例,如@jojobarcream提及,仅适用于共享项目,如果您使用该方法且不适用于PCL项目。 – Pete 2014-09-22 21:25:32

+0

它不适用于某些平台..... – 2016-09-20 10:32:15