4

アプリケーションを初めて起動したかどうかを確認するにはどうすればよいですか?

回答している場合は、いくつかの回答を読んだが理解できなかったため、完全なコードを追加してください。

ありがとう。

4

4 に答える 4

17

すべてのアプリには設定やオプションを保存する方法があるため、アプリが以前に実行されたかどうかに関係なく、1 つを持つことができます。

SharedPreferences runCheck = PreferenceManager.getSharedPreferences("hasRunBefore", 0); //load the preferences
Boolean hasRun = runCheck.getBoolean("hasRun", false); //see if it's run before, default no
if (!hasRun) {
    SharedPreferences settings = getSharedPreferences("hasRunBefore", 0);
    SharedPreferences.Editor edit = settings.edit();
    edit.putBoolean("hasRun", true); //set to has run
    edit.commit(); //apply
    //code for if this is the first time the app has run
}
else {
    //code if the app HAS run before
}
于 2011-12-23T16:03:16.960 に答える
11

永続的なデータ ストレージに使用sharedPreferencesします。アプリケーションが最初に起動されたときに、共有設定にブール値を保存するだけです。その後、毎回確認します。

SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE);
SharedPreferences.Editor prefEditor = sharedPref.edit();
prefEditor.putString("isLauncedTime",true);
prefEditor.commit();
于 2011-12-23T15:34:32.830 に答える
5

http://developer.android.com/guide/topics/data/data-storage.html#prefを参照してください。

アプリケーションを初めて共有設定に実行するときにブール値をロードし、次の実行でそれが true かどうかを確認できるため、プログラムがすでに 1 回実行されていることがわかります。

于 2011-12-23T15:31:38.137 に答える
0

これが最善の解決策かどうかはわかりませんが、...

Androidのファイルシステムに単純なブール値を保存しようとしましたが、Androidアプリを起動するときに、そのブール値が存在するかどうか、およびその値が何であるかを確認しました。

繰り返しますが、これが適切な方法であるかどうかはわかりません。これは、これを回避するための私自身の方法です。

于 2011-12-23T15:26:26.597 に答える