3

Context なしで AssetManager にアクセスすることは可能ですか? 他の人の解決策は、アプリケーションを拡張し、コンテキストを onCreate() に保存し、静的ゲッターを作成してコンテキストを返すことです。アプリ全体にコンテキスト内のすべてへのアクセスを許可したため、これは本当にずさんでカプセル化を破っていると思います。AssetManager だけを保存するように削減できると思いますが、それでも非常にハックな修正です。

次のようなものを呼び出すことで、コンテキストなしでリソースにアクセスできることを知っています

Resources.getSystem().getString()

ただし、AssetManager へのアクセスは

Resources.getSystem().getAssets()

実際にアセットフォルダーにあるものではなく、いくつかの組み込みアセットへのアクセスのみを許可します。

私はハッキーな Application サブクラスにこだわっていますか、それともよりクリーンな方法がありますか?

4

1 に答える 1

0

アセットは何のために必要ですか?ファイルを開くだけですか?getResourceAsStreamメソッドを使用して Context なしでリソース ファイルにアクセスすることは可能ですが、Java ソース ファイルと同じフォルダーに配置する必要があります。

于 2013-05-23T21:29:44.170 に答える