注釈
アセット解決
AssetResolverライブラリは、デバイスのシステム修飾子に従ってアセットをランク付けすることで、シームレスなアセット解決の手段をアプリに提供します。アプリには、画像やテキストなどに使用できるファイルであるアセットを含めることができます。AssetResolverは、画像、RAWファイル、およびテキスト定義ファイルをサポートしています。 アセットはアプリのassetsディレクトリにある必要があり、以下のディレクトリ構造を使用する必要があります。
getString()およびgetNumber()メソッドで使用されます。
設定修飾子
AssetResolverのメソッドは、システムの現在の設定修飾子に基づいてアセットを解決します。これらは、ロケール、UIモードなどの特定のデバイスプロパティを定義する値です。 たとえば、ロケール修飾子は、en-US、es-AR、es-SPなどの値を取ることができます。この修飾子は、どのアセットが解決されるかに直接影響します。次のアセットディレクトリ構造では、strings.puff.jsonファイルが複数のディレクトリで定義されています。ロケールごとに1つずつと、textディレクトリにデフォルトとして機能するものが1つあります。
en-GBなど)をサポートする場合、そのロケールのデフォルト修飾子(この場合はen)のサポートも定義する必要があります。デフォルトのアセットファイルを定義することをお勧めします。これにより、アセットの解決が失敗した場合でも常に一致するアセットが存在することが保証されます。
ロケールのシステム設定修飾子がes-ARの場合、AssetResolver APIを使用するときにassets/text/es-AR/strings.puff.jsonファイルが選択されます。複数のロケールに同じテキストアセットが含まれている場合は、1つのアセットファイルへのシンボリックリンクを使用してデバイスのストレージ容量を節約できます。
注: アセットを解決するための設定修飾子としてサポートされているのはロケールだけです。
アクセス制御
AssetResolverメソッドはアクセス制御されません。AssetResolverメソッドは、アプリに割り当てられたデバイスのファイルシステムのサブセット内でのみ実行されます。さらに、ほかのアプリは別のアプリのアセットを明示的に解決できないため、アプリ間での分離が保証されます。はじめに
package.jsonファイルのdependenciesセクションに、以下のライブラリ依存関係を追加します。
使用方法
AssetConfiguration型
特定のAPIはAssetConfigurationオブジェクトを受け取ります。このオブジェクトは、アセットの解決時にどの修飾子を使用するかを指定するために使用されます。現在は、ロケールがサポートされています。国際化された文字列値の取得
国際化された文字列値を取得するには、getString()メソッドを使用します。このメソッドは、クエリ対象の文字列の識別子と、アセットの解決に使用する修飾子を指定する、省略可能な設定オブジェクトを受け取ります。
失敗すると、このメソッドはエラー状態を示すメッセージを含むエラーをスローします。
国際化された数値の取得
国際化された数値を取得するには、getNumber()メソッドを使用します。getString()と同様に、このメソッドはクエリ対象の数値の識別子である文字列を受け取ります。さらに、このメソッドは、アセットの解決に使用する修飾子を指定する、省略可能な設定オブジェクトも受け取ります。
このメソッドは、実行中に問題が発生した場合にエラーをスローします。
APIリファレンス
クラス
- AssetResolver - アプリアセット解決のためのさまざまなAPIを提供するクラス。
型エイリアス
- AssetConfiguration - 個々の修飾子の値を選択するために、さまざまなAPIの入力として使用される型
- NumberResult - エラーフィールドのある数値の内部タイプ。
- StringResult - エラーフィールドを含むStringValueの内部タイプ。
- StringValue - AssetResolverで文字列値がどのように表されるかを表す型。

