アプリが起動されるたびではなく、アプリのライフサイクルで一度だけメソッドを呼び出すには、そのようなメソッドをどこに配置する必要がありますか?
onCreate()
どこか他の場所で?
アプリが起動されるたびではなく、アプリのライフサイクルで一度だけメソッドを呼び出すには、そのようなメソッドをどこに配置する必要がありますか?
onCreate()
どこか他の場所で?
ブール変数でApplication.onCreate()
保護する必要があります。SharedPreference
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if(prefs.getBoolean("firstRun", true)) {
once(); // <-- your function
prefs.edit().putBoolean("firstRun", false).commit();
}
これを追加してonCreate()
、以前に初期化/呼び出されていない場合にのみメソッドを呼び出すことができます。
protected void onCreate(Bundle b) {
if(shouldCall()) { // I know if the method has been called before
callMethodJustOnce();
}
}
このメソッドを1回だけ呼び出す場合は、ここでの使用を推奨するほとんどの回答を確認しますPreferences
。ただし、アプリが起動するたびに1回話している場合は、でこれを実現する必要がありますonCreate()
。これは、アプリが初期化されて起動されたときにのみ呼び出されるためです。
アプリのオープン時間をカウントする共有設定の変数を作成し、0の場合はメソッドHappycoding:Dを呼び出します