2014-09-22 250 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