概要
iOS, Android共通のAPI
Xamarin.Essentials.FileSystem
及びSystem.Environment.SpecialFolder
を使用することができる。
サンプルコード
System.Console.WriteLine("FileSystem.CacheDirectory=" + FileSystem.CacheDirectory); System.Console.WriteLine("FileSystem.AppDataDirectory=" + FileSystem.AppDataDirectory); System.Console.WriteLine("Environment.SpecialFolder.AdminTools=" + Environment.GetFolderPath(Environment.SpecialFolder.AdminTools)); System.Console.WriteLine("Environment.SpecialFolder.ApplicationData=" + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)); System.Console.WriteLine("Environment.SpecialFolder.CDBurning=" + Environment.GetFolderPath(Environment.SpecialFolder.CDBurning)); System.Console.WriteLine("Environment.SpecialFolder.CommonAdminTools=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonAdminTools)); System.Console.WriteLine("Environment.SpecialFolder.CommonDesktopDirectory=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory)); System.Console.WriteLine("Environment.SpecialFolder.CommonDocuments=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments)); System.Console.WriteLine("Environment.SpecialFolder.CommonMusic=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonMusic)); System.Console.WriteLine("Environment.SpecialFolder.CommonOemLinks=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonOemLinks)); System.Console.WriteLine("Environment.SpecialFolder.CommonPictures=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonPictures)); System.Console.WriteLine("Environment.SpecialFolder.CommonProgramFiles=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles)); System.Console.WriteLine("Environment.SpecialFolder.CommonProgramFilesX86=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFilesX86)); System.Console.WriteLine("Environment.SpecialFolder.CommonPrograms=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonPrograms)); System.Console.WriteLine("Environment.SpecialFolder.CommonStartMenu=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonStartMenu)); System.Console.WriteLine("Environment.SpecialFolder.CommonStartup=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonStartup)); System.Console.WriteLine("Environment.SpecialFolder.CommonTemplates=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonTemplates)); System.Console.WriteLine("Environment.SpecialFolder.CommonVideos=" + Environment.GetFolderPath(Environment.SpecialFolder.CommonVideos)); System.Console.WriteLine("Environment.SpecialFolder.Cookies=" + Environment.GetFolderPath(Environment.SpecialFolder.Cookies)); System.Console.WriteLine("Environment.SpecialFolder.Desktop=" + Environment.GetFolderPath(Environment.SpecialFolder.Desktop)); System.Console.WriteLine("Environment.SpecialFolder.DesktopDirectory=" + Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)); System.Console.WriteLine("Environment.SpecialFolder.Favorites=" + Environment.GetFolderPath(Environment.SpecialFolder.Favorites)); System.Console.WriteLine("Environment.SpecialFolder.Fonts=" + Environment.GetFolderPath(Environment.SpecialFolder.Fonts)); System.Console.WriteLine("Environment.SpecialFolder.History=" + Environment.GetFolderPath(Environment.SpecialFolder.History)); System.Console.WriteLine("Environment.SpecialFolder.InternetCache=" + Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)); System.Console.WriteLine("Environment.SpecialFolder.LocalApplicationData=" + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)); System.Console.WriteLine("Environment.SpecialFolder.LocalizedResources=" + Environment.GetFolderPath(Environment.SpecialFolder.LocalizedResources)); System.Console.WriteLine("Environment.SpecialFolder.MyComputer=" + Environment.GetFolderPath(Environment.SpecialFolder.MyComputer)); System.Console.WriteLine("Environment.SpecialFolder.MyDocuments=" + Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); System.Console.WriteLine("Environment.SpecialFolder.MyMusic=" + Environment.GetFolderPath(Environment.SpecialFolder.MyMusic)); System.Console.WriteLine("Environment.SpecialFolder.MyPictures=" + Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)); System.Console.WriteLine("Environment.SpecialFolder.MyVideos=" + Environment.GetFolderPath(Environment.SpecialFolder.MyVideos)); System.Console.WriteLine("Environment.SpecialFolder.NetworkShortcuts=" + Environment.GetFolderPath(Environment.SpecialFolder.NetworkShortcuts)); System.Console.WriteLine("Environment.SpecialFolder.Personal=" + Environment.GetFolderPath(Environment.SpecialFolder.Personal)); System.Console.WriteLine("Environment.SpecialFolder.PrinterShortcuts=" + Environment.GetFolderPath(Environment.SpecialFolder.PrinterShortcuts)); System.Console.WriteLine("Environment.SpecialFolder.ProgramFiles=" + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)); System.Console.WriteLine("Environment.SpecialFolder.ProgramFilesX86=" + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)); System.Console.WriteLine("Environment.SpecialFolder.Programs=" + Environment.GetFolderPath(Environment.SpecialFolder.Programs)); System.Console.WriteLine("Environment.SpecialFolder.Recent=" + Environment.GetFolderPath(Environment.SpecialFolder.Recent)); System.Console.WriteLine("Environment.SpecialFolder.Resources=" + Environment.GetFolderPath(Environment.SpecialFolder.Resources)); System.Console.WriteLine("Environment.SpecialFolder.SendTo=" + Environment.GetFolderPath(Environment.SpecialFolder.SendTo)); System.Console.WriteLine("Environment.SpecialFolder.StartMenu=" + Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)); System.Console.WriteLine("Environment.SpecialFolder.Startup=" + Environment.GetFolderPath(Environment.SpecialFolder.Startup)); System.Console.WriteLine("Environment.SpecialFolder.System=" + Environment.GetFolderPath(Environment.SpecialFolder.System)); System.Console.WriteLine("Environment.SpecialFolder.SystemX86=" + Environment.GetFolderPath(Environment.SpecialFolder.SystemX86)); System.Console.WriteLine("Environment.SpecialFolder.Templates=" + Environment.GetFolderPath(Environment.SpecialFolder.Templates)); System.Console.WriteLine("Environment.SpecialFolder.UserProfile=" + Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)); System.Console.WriteLine("Environment.SpecialFolder.Windows=" + Environment.GetFolderPath(Environment.SpecialFolder.Windows));
Android用のAPI
Android.OS.Environment
を使用することができる。
サンプルコード
System.Console.WriteLine("Android.OS.Environment.DataDirectory=" + Android.OS.Environment.DataDirectory.AbsolutePath); System.Console.WriteLine("Android.OS.Environment.DirectoryAlarms=" + Android.OS.Environment.DirectoryAlarms); System.Console.WriteLine("Android.OS.Environment.DirectoryDcim=" + Android.OS.Environment.DirectoryDcim); System.Console.WriteLine("Android.OS.Environment.DirectoryDocuments=" + Android.OS.Environment.DirectoryDocuments); System.Console.WriteLine("Android.OS.Environment.DirectoryDownloads=" + Android.OS.Environment.DirectoryDownloads); System.Console.WriteLine("Android.OS.Environment.DirectoryMovies=" + Android.OS.Environment.DirectoryMovies); System.Console.WriteLine("Android.OS.Environment.DirectoryMusic=" + Android.OS.Environment.DirectoryMusic); System.Console.WriteLine("Android.OS.Environment.DirectoryNotifications=" + Android.OS.Environment.DirectoryNotifications); System.Console.WriteLine("Android.OS.Environment.DirectoryPictures=" + Android.OS.Environment.DirectoryPictures); System.Console.WriteLine("Android.OS.Environment.DirectoryPodcasts=" + Android.OS.Environment.DirectoryPodcasts); System.Console.WriteLine("Android.OS.Environment.DirectoryRingtones=" + Android.OS.Environment.DirectoryRingtones); System.Console.WriteLine("Android.OS.Environment.DownloadCacheDirectory=" + Android.OS.Environment.DownloadCacheDirectory.AbsolutePath); System.Console.WriteLine("Android.OS.Environment.ExternalStorageDirectory=" + Android.OS.Environment.ExternalStorageDirectory.AbsolutePath);
Androidでの実行結果
FileSystem.CacheDirectory=/data/user/0/com.companyname.xamarintest1/cache FileSystem.AppDataDirectory=/data/user/0/com.companyname.xamarintest1/files Environment.SpecialFolder.AdminTools= Environment.SpecialFolder.ApplicationData=/data/user/0/com.companyname.xamarintest1/files/.config Environment.SpecialFolder.CDBurning= Environment.SpecialFolder.CommonAdminTools= Environment.SpecialFolder.CommonDesktopDirectory= Environment.SpecialFolder.CommonDocuments= Environment.SpecialFolder.CommonMusic= Environment.SpecialFolder.CommonOemLinks= Environment.SpecialFolder.CommonPictures= Environment.SpecialFolder.CommonProgramFiles= Environment.SpecialFolder.CommonProgramFilesX86= Environment.SpecialFolder.CommonPrograms= Environment.SpecialFolder.CommonStartMenu= Environment.SpecialFolder.CommonStartup= Environment.SpecialFolder.CommonTemplates=/usr/share/templates Environment.SpecialFolder.CommonVideos= Environment.SpecialFolder.Cookies= Environment.SpecialFolder.Desktop=/data/user/0/com.companyname.xamarintest1/files/Desktop Environment.SpecialFolder.DesktopDirectory=/data/user/0/com.companyname.xamarintest1/files/Desktop Environment.SpecialFolder.Favorites= Environment.SpecialFolder.Fonts=/data/user/0/com.companyname.xamarintest1/files/.fonts Environment.SpecialFolder.History= Environment.SpecialFolder.InternetCache= Environment.SpecialFolder.LocalApplicationData=/data/user/0/com.companyname.xamarintest1/files/.local/share Environment.SpecialFolder.LocalizedResources= Environment.SpecialFolder.MyComputer= Environment.SpecialFolder.MyDocuments=/data/user/0/com.companyname.xamarintest1/files Environment.SpecialFolder.MyMusic=/data/user/0/com.companyname.xamarintest1/files/Music Environment.SpecialFolder.MyPictures=/data/user/0/com.companyname.xamarintest1/files/Pictures Environment.SpecialFolder.MyVideos=/data/user/0/com.companyname.xamarintest1/files/Videos Environment.SpecialFolder.NetworkShortcuts= Environment.SpecialFolder.Personal=/data/user/0/com.companyname.xamarintest1/files Environment.SpecialFolder.PrinterShortcuts= Environment.SpecialFolder.ProgramFiles= Environment.SpecialFolder.ProgramFilesX86= Environment.SpecialFolder.Programs= Environment.SpecialFolder.Recent= Environment.SpecialFolder.Resources= Environment.SpecialFolder.SendTo= Environment.SpecialFolder.StartMenu= Environment.SpecialFolder.Startup= Environment.SpecialFolder.System= Environment.SpecialFolder.SystemX86= Environment.SpecialFolder.Templates=/data/user/0/com.companyname.xamarintest1/files/Templates Environment.SpecialFolder.UserProfile=/data/user/0/com.companyname.xamarintest1/files Environment.SpecialFolder.Windows= Android.OS.Environment.DataDirectory=/data Android.OS.Environment.DirectoryAlarms=Alarms Android.OS.Environment.DirectoryDcim=DCIM Android.OS.Environment.DirectoryDocuments=Documents Android.OS.Environment.DirectoryDownloads=Download Android.OS.Environment.DirectoryMovies=Movies Android.OS.Environment.DirectoryMusic=Music Android.OS.Environment.DirectoryNotifications=Notifications Android.OS.Environment.DirectoryPictures=Pictures Android.OS.Environment.DirectoryPodcasts=Podcasts Android.OS.Environment.DirectoryRingtones=Ringtones Android.OS.Environment.DownloadCacheDirectory=/data/cache Android.OS.Environment.ExternalStorageDirectory=/storage/emulated/0
iOS用のAPI
iOSでの実行結果
2020-04-18 22:46:07.966732+0900 XamarinTest1.iOS[2050:88781] FileSystem.CacheDirectory=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Library/Caches 2020-04-18 22:46:07.967332+0900 XamarinTest1.iOS[2050:88781] FileSystem.AppDataDirectory=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Library 2020-04-18 22:46:07.968260+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.AdminTools= 2020-04-18 22:46:07.971232+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.ApplicationData=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/.config 2020-04-18 22:46:07.971497+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CDBurning= 2020-04-18 22:46:07.971686+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonAdminTools= 2020-04-18 22:46:07.971847+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonDesktopDirectory= 2020-04-18 22:46:07.972006+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonDocuments= 2020-04-18 22:46:07.972158+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonMusic= 2020-04-18 22:46:07.972298+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonOemLinks= 2020-04-18 22:46:07.972446+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonPictures= 2020-04-18 22:46:07.972606+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonProgramFiles= 2020-04-18 22:46:07.972750+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonProgramFilesX86= 2020-04-18 22:46:07.972894+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonPrograms= 2020-04-18 22:46:07.973094+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonStartMenu= 2020-04-18 22:46:07.973357+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonStartup= 2020-04-18 22:46:07.973925+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonTemplates=/usr/share/templates 2020-04-18 22:46:07.974167+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.CommonVideos= 2020-04-18 22:46:07.974568+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Cookies= 2020-04-18 22:46:07.974975+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Desktop=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/Desktop 2020-04-18 22:46:07.975211+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.DesktopDirectory=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/Desktop 2020-04-18 22:46:07.975752+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Favorites=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Library/Favorites 2020-04-18 22:46:07.975932+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Fonts=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/.fonts 2020-04-18 22:46:07.988805+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.History= 2020-04-18 22:46:07.989048+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.InternetCache=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Library/Caches 2020-04-18 22:46:07.989231+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.LocalApplicationData=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents 2020-04-18 22:46:07.989394+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.LocalizedResources= 2020-04-18 22:46:07.989547+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.MyComputer= 2020-04-18 22:46:07.989770+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.MyDocuments=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents 2020-04-18 22:46:07.989947+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.MyMusic=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/Music 2020-04-18 22:46:07.990092+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.MyPictures=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/Pictures 2020-04-18 22:46:07.990298+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.MyVideos=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/Videos 2020-04-18 22:46:07.990474+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.NetworkShortcuts= 2020-04-18 22:46:07.990646+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Personal=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents 2020-04-18 22:46:07.991042+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.PrinterShortcuts= 2020-04-18 22:46:07.991306+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.ProgramFiles=/Applications 2020-04-18 22:46:07.991581+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.ProgramFilesX86= 2020-04-18 22:46:07.991846+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Programs= 2020-04-18 22:46:07.992111+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Recent= 2020-04-18 22:46:07.992530+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Resources=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Library 2020-04-18 22:46:07.993036+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.SendTo= 2020-04-18 22:46:07.993459+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.StartMenu= 2020-04-18 22:46:07.993887+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Startup= 2020-04-18 22:46:07.998486+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.System= 2020-04-18 22:46:07.998982+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.SystemX86= 2020-04-18 22:46:07.999188+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Templates=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3/Documents/Templates 2020-04-18 22:46:08.001211+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.UserProfile=/Users/shindo/Library/Developer/CoreSimulator/Devices/4C7E2688-C529-4E22-9B91-B375C5BF6CB4/data/Containers/Data/Application/ABAC4C39-B223-4397-96B2-08E3C2172AE3 2020-04-18 22:46:08.001619+0900 XamarinTest1.iOS[2050:88781] Environment.SpecialFolder.Windows=