Xamarin.Essentials:ファイル システム ヘルパー

FileSystem クラスには、アプリケーションのキャッシュ ディレクトリやデータ ディレクトリを検索したり、アプリ パッケージ内のファイルを開いたりする、一連のヘルパーが含まれています。

作業開始

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。

FileSystem の使用

クラスの Xamarin.Essentials への参照を追加します。

using Xamarin.Essentials;

キャッシュ データを格納するアプリケーションのディレクトリを取得するには、次のようにします。 キャッシュ データは、一時的なデータより長く保持する必要があるデータに対して使用できますが、正しく動作するために必要なデータである必要はありません。このストレージが消去されるタイミングは OS から指示されるためです。

var cacheDir = FileSystem.CacheDirectory;

ユーザー データ ファイルではないファイルに対するアプリケーションの最上位ディレクトリを取得するには、次のようにします。 これらのファイルは、オペレーティング システムの同期フレームワークでバックアップされます。 以下のプラットフォームの実装の詳細をご覧ください。

var mainDir = FileSystem.AppDataDirectory;

アプリケーション パッケージにバンドルされているファイルを開く場合は、OpenAppPackageFileAsync メソッドを使用して内容を読み取ることができます。 次の例では、mybundledfile.txt という名前のファイルが各プラットフォームに追加されています。 詳細については、プラットフォーム実装に関するセクションを参照してください。

 var fileName = "mybundledfile.txt";
 using (var stream = await FileSystem.OpenAppPackageFileAsync(fileName))
 {
    using (var reader = new StreamReader(stream))
    {
        var fileContents = await reader.ReadToEndAsync();
    }
 }

プラットフォームの実装の詳細

  • CacheDirectory – 現在のコンテキストの CacheDir を返します。
  • AppDataDirectory – 現在のコンテキストの FilesDir を返します。API 23 以降では、自動バックアップを使用してバックアップされます。

ファイルを Android プロジェクトの Assets フォルダーに追加し、OpenAppPackageFileAsync で使用されるようにビルド アクションを AndroidAsset としてマークします。

API

他の Xamarin ビデオは、Channel 9 および YouTube でご覧いただけます。