Xamarin.Android/特殊ディレクトリのパスを取得する

提供: MonoBook
移動: 案内検索

実装:Environment.SpecialFolderを使う[編集]

Xamarin.AndroidでもEnvironmentクラスのGetFolderPathメソッドで色々と取得することもできる。 マルチプラットフォームでの互換性を考慮すると、EnvironmentクラスのGetFolderPathメソッドで取得可能な特殊ディレクトリであれば、環境依存のAPIよりもこちらを使うのが望ましいと思われる。 以下は2017年1月時点での値なので将来的に未対応のものに値が追加される可能性はある。

Environment.SpecialFolder列挙体 Environment.GetFolderPathの戻り値
Desktop /data/data/{パッケージ名}/files/Desktop
Programs
MyDocuments /data/data/{パッケージ名}/files
MyDocuments /data/data/{パッケージ名}/files
Favorites
Startup
Recent
SendTo
StartMenu
MyMusic /data/data/{パッケージ名}/files/Music
MyVideos /data/data/{パッケージ名}/files/Videos
DesktopDirectory /data/data/{パッケージ名}/files/Desktop
MyComputer
NetworkShortcuts
Fonts /data/data/{パッケージ名}/files/.fonts
Templates /data/data/{パッケージ名}/files/Templates
CommonStartMenu
CommonPrograms
CommonStartup
CommonDesktopDirectory
ApplicationData /data/data/{パッケージ名}/files/.config
PrinterShortcuts
LocalApplicationData /data/data/{パッケージ名}/files/.local/share
InternetCache
Cookies
History
CommonApplicationData /usr/share
Windows
System
ProgramFiles
MyPictures /data/data/{パッケージ名}/files/Pictures
UserProfile /data/data/{パッケージ名}/files
SystemX86
ProgramFilesX86
CommonProgramFiles
CommonProgramFilesX86
CommonTemplates /usr/share/templates
CommonDocuments
CommonAdminTools
AdminTools
CommonMusic
CommonPictures
CommonVideos
Resources
LocalizedResources
CommonOemLinks
CDBurning

ちなみに上記の列挙には以下のようなソースコードを用いた。

            foreach (var folder in Enum.GetValues(typeof(Environment.SpecialFolder)))
            {
                var path = Environment.GetFolderPath((Environment.SpecialFolder)folder);
                Console.WriteLine("{0} => {1}", folder, path);
            }

関連項目[編集]

参考文献[編集]