2011-07-07 5 views
6

Androidアセットマネージャーに関しては、コンテキストなしでアセットからファイルを取得できますか? "file:/// android_assets"という種類のパスでFileオブジェクトを初期化してそこからファイルを取得できますが、ファイルが存在しない(Honeycomb)ことを示しています。Androidアセット(コンテキストなし)

この問題を回避する一般的な回避策を教えてください。アセットからファイルが必要な場所にコンテキストを取得する方法はありません。あなたがApplicationクラスを拡張し、コンテキストへの静的参照を作成することができます存在しないのコンテキストへのアクセスを得るために

おかげ

+0

ここでコンテキストを取得できない理由はわかりますか? – MByD

+0

私はUIパーツとスタッフからすべてを行う独自のスタッフがいるので、それらをlibsとして取得してから、インターフェイスを実装する必要があるクラスのみを持っています。その時点でコンテキストはありません。 – Pett

+0

それでは、なぜコンテキストを引数として渡しませんか? – MByD

答えて

4

。この方法で、アプリケーション内のどこからでもアクセスできます。

public class MyApp extends Application { 

    public static Context context; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     context = getApplicationContext(); 
    } 
} 
+0

これは最良の解決策です。ここでは2016です。 – Fattie

+0

これは良い選択ではありません。依存関係注入を使用してコンテキストの依存関係を注入してください。これを行うライブラリがあります:Dagger 2(google)、Dagger(square)、Guiceなど – rupinderjeet