アプリケーションの への参照を取得する必要があるクラスがありますAssetManager
。このクラスは Android UI クラスを拡張しないため、メソッドやそれに類するものはありませんgetContext()
。何らかの静的なContext.getCurrentApplicationContext()
タイプのメソッドがあるのでしょうか?
AndroidManifest.xml
明確に言うと、私のクラスは他のアプリケーション用のライブラリのように使用されることを目的としています。呼び出し元のコンテキストに関連付けられたり、制御されたりすることはありません。
ベストアンサー1
- サブクラスを作成する
Application
、 例えばpublic class App extends Application {
- 新しいクラスを指すようにタグ
android:name
の属性を設定します。例:<application>
AndroidManifest.xml
android:name=".App"
onCreate()
アプリ インスタンスの メソッドで、コンテキスト (例this
) を という名前の静的フィールドに保存しapp
、このフィールドを返す静的メソッドを作成します (例 )getApp()
。
次のように表示されます。
public class App extends Application{
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = this;
}
public static Context getContext(){
return mContext;
}
}
App.getContext()
これで、コンテキストを取得したいときはいつでも : を使用し、その後getAssetManager()
(または) を実行できますApp.getContext().getAssetManager()
。