答えて
最も簡単な(そして正しい)方法がある:
は
public class MyApp extends Application {
private static MyApp instance;
public static MyApp getInstance() {
return instance;
}
public static Context getContext(){
return instance;
// or return instance.getApplicationContext();
}
@Override
public void onCreate() {
instance = this;
super.onCreate();
}
}
は、その後、あなたのマニフェストにあなたがで「名前」フィールドに、このクラスを追加する必要があり、新しいクラスを定義します[アプリケーション]タブをクリックします。またはXMLを編集し、
<application
android:name="com.example.app.MyApp"
android:icon="@drawable/icon"
android:label="@string/app_name"
.......
<activity
......
を配置し、どこからでもあなたは
MyApp.getContext();
はそれが
これは動作しますが、あなたがそれを悪用しないでシングルトンを使用するのと同じように注意してください。[この質問への答えを読む](http://stackoverflow.com/questions/7298731/when-to-call-activity-コンテキストContextまたはApplication Context/7298955#7298955)は、ApplicationContextが使用するコンテキストを(たまには)まれにしかしない理由を説明しています。 ベストウェイ: Contextを必要とするクラスの内部でContextを引数とするパブリックメソッドを公開していない場合(アクティビティなどから渡す)、これがその方法です。 Exp: public void abc(コンテキストc、int a); を呼び出し、それを任意のアクティビティから呼び出します。 –
基本的には、コンテキストの2種類持ってお役に立てば幸い呼び出すことができます - アクティビティーコンテキストとApplication Contextを。
すべてに1つのコンテキストしか使用する必要はありません。コンテキストが必要なたびに1つのコンテキストを使用すると問題が発生します。 アクティビティの範囲を超えてコンテキストを渡すときは、アクティビティ内でアクティビティコンテキストを、アクティビティ内でコンテキストを渡すときにはアプリケーションコンテキストを使用してください。memory leaksを回避するのに役立ちます。
この記事を読むと、2つのコンテキストの違いがわかります。
アプリケーションコンテキストは限りアプリケーションが 生きていると活動のライフサイクルに依存しないとして生きるでしょう。コンテキストが必要な長寿命オブジェクトを保持する予定の を計画している場合は、 アプリケーションオブジェクトを覚えておいてください。
代わり アクティビティーコンテキストが活性に関連し、活性が破壊される回数だけ破壊される可能性が
- 一般にバック変更画面の向き、ボタン等
これは良い答えです。 – ctn
- 1. どこからでもSpringモデルを取得する
- 2. NativeActivityからコンテキストを取得する
- 3. GameSurfaceViewでコンテキストを取得するには?
- 4. 非アクティビティクラスからコンテキストを取得するには
- 5. freemarkerマクロのコンテキストからspring beanを取得するには?
- 6. テキストファイル内のどこからでも値を取得
- 7. 外部コンテキストからプロパティデータを取得
- 8. スプリングブートアプリケーション - 静的コンテキストからBeanを取得
- 9. ActionFilterAttributeコンテキスト内からCookieを取得
- 10. すべての押されたキーをどこからでも取得する
- 11. getContext()またはコンストラクタからコンテキストを取得する
- 12. 非アクティビティクラスからコンテキストを取得する方法は?
- 13. Vaporのコンテキストから値を取得する方法は?
- 14. どこでも同じコンテキストを使用していますか?
- 15. Workflow Sharepoint 2010からのコンテキストの取得
- 16. とにかくスケールアップされた2dコンテキストからdataurlを取得するには?
- 17. コンバーターでコンテキストを取得しますか?
- 18. どのように選択したテキストを取得するのですか?javascriptで周囲のコンテキストを取得することはできますか?
- 19. メインアクティビティからコンテキスト変数を取得しても問題ありませんか?
- 20. Firebaseの例外がどこからも取得されない
- 21. どこからACCESS_TOKENを取得するのですか?
- 22. webappコンテキストではなく、Tomcatルートからウェルカムページを取得する方法は?
- 23. Androidはコンテキストのテーマからプログラムで(「R」に直接アクセスすることなく)リソースを取得します
- 24. アンドロイドは別のJavaクラスからコンテキストを取得します
- 25. は「この」内部クラスのコンテキストを取得とするtheClass *
- 26. C#で属性コンテキストを取得する
- 27. LocationListener内でコンテキストを取得
- 28. googlemapsactivityでコンテキストを取得
- 29. SyncAdapter内でコンテキストを取得
- 30. アンドロイドスタジオのMainActivityからコンテキストを取得できないのはなぜですか?
あなたを介してコンテキストの参照を渡す必要がそれを必要とするメソッドを呼び出した場合の引数*(ただし、参照を格納しない場合、メモリリークを引き起こす可能性があります)*。場合によってはApplication-Objectを使用することもできます。[この質問](http://stackoverflow.com/questions/987072/using-application-context-everywhere)を参照してください。しかし、答えを念頭に置いて限界を守ってください。 –