Android では、アプリケーション オブジェクトをサブクラス化または拡張する必要があるときはいつでも、次のようにします。
public class AndroidApplication extends Application{
....
}
次に、マニフェスト ファイルに必要な変更を加えます。このコード行を書く必要は何ですか?
public class AndroidApplication extends Application{
private static AndroidApplication sInstance;
public static AndroidApplication getInstance() {
return sInstance;
}
....
}
Application オブジェクトにアクセスするときはいつでも、次のコードを使用してアクセスします。
MyApplication myapp = (MyApplication)getApplicationContext();
上記は、常に Application クラスの 1 つの静的オブジェクトを返します。getinstance メソッドを記述する必要は何ですか? いくつかのブログや Android 開発者の Web サイトで、上記が正しい方法であると読んだことがありますが、なぜ理解できなかったのでしょうか?
Application オブジェクトは、アプリケーションの実行開始時にメモリ内に作成されます。この後、再初期化することはできません。つまり、次のコードを書くことはできません。
MyApplication myapp = new MyApplication();
たとえそうしたとしても、getInstance メソッドは役に立ちません。
前もって感謝します。