2

Xamarin(ネイティブまたはフォーム)では、Androidプロジェクトには常にアセットとリソース/ドロウアブルフォルダがあります。Xamarinアセットとリソースドロアブル

私のアプリケーションで、ListView、ツールバーなどのさまざまなイメージを使用している場合、これらのイメージはどこに置かれますか?

なぜ、私はそれらをアセットフォルダに入れたいのですか?

答えて

1

これは資源を活用のみXamarin.Android

について質問です、そこにビルトインのサポート異なる言語の選択肢、OSのバージョン、画面の向きなどを提供するために、hereが説明するように。そのうちのどれも資産で利用できません。また、APIの多くの部分がリソース識別子の使用をサポートしています。最後に、リソースの名前はコンパイル時にチェックされる定数フィールド名に変換されるため、コードとリソース自体の不一致の機会は少なくなります。それは資産には適用されません。

なぜ資産フォルダがあるのですか?実行時に使用するアセットを計算したい場合は、かなり簡単です。リソースを使用する場合は、使用する可能性があるすべてのリソースIDのリストを宣言し、リストにインデックスを計算する必要があります。 (これは厄介なことであり、開発サイクルでリソースのセットが変更された場合、エラーの可能性があります)(getIdentifierを使用してリソースIDを名前で取得できますが、コンパイル時のチェックのメリットが失われます)。リソースによってサポートされていないフォルダ階層に編成することができます。それはデータを管理する別の方法です。ほとんどの場合、リソースでリソースがカバーされますが、資産は時折使用されます。

もう1つの違い:ライブラリプロジェクトで定義されたリソースは、ライブラリに依存するアプリケーションプロジェクトに自動的にインポートされます。資産については、それは起こらない。アセットファイルは、アプリケーションプロジェクトのアセットディレクトリに存在する必要があります。 Androidの新しいGradle-based build system(Androidスタジオで使用)では、これはもはや真実ではありません。ライブラリプロジェクトのアセットディレクトリは.aarファイルにパッケージ化されているため、ライブラリプロジェクトで定義されたアセットはアプリケーションプロジェクトにマージされます(参照ライブラリにある場合はアプリケーションの/assetsディレクトリに存在する必要はありません)。

関連する問題