0

このメッセージは、このボタンがクリックされた最初の 3 回だけ表示され、その後はアプリケーションを再起動しても表示されないようにしたいのですが、それを実現する最善の方法を知りたいです。DB を作成し、ボタンを押してその DB に値を入力し、トースト ロジックを if ステートメント内に配置する予定です。DBを使用せずにそれを行うより良い方法があるかどうか知りたいです。

4

4 に答える 4

3

簡単なことを意味する場合は、SharedPreferencesメカニズムを使用できます。

共有設定は基本的に、アクティビティ全体に共通のプロパティセットであるか、各アクティビティで個別に使用できます。

class Listener implements OnClickListener{
    final private SharedPreferences prefs;
    Listener(SharedPreferences prefs){
         this.prefs=prefs;
    }
    public void onClick(View view) {
        int count = prefs.getInt("toastCount",0);
        if(count>=3) return;
        //do something else here
        SharedPreferences.Editor editor = prefs.edit();
        editor.putInt("toastCount", count+1);
        editor.commit();
    }
}

getPreferences()アクティビティのまたはgetSharedPreferences()メソッドを使用して、このリスナーを開始できます

于 2012-09-06T06:03:20.340 に答える
1

Shared Preferencesは DB よりも優れていると思います。

count(int)共有設定を追加するだけです。

于 2012-09-06T05:55:03.300 に答える
0

次のコードを使用できます。

button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {

        Toast.makeText(app.getBaseContext(),"Your message", 
            Toast.LENGTH_SHORT).show();
}

});

于 2012-09-06T05:58:12.153 に答える
0

メモリ内のどこかにデータを永続化することを検討してください。このような些細なデータはデータベースに入るべきではありません。それは悪い決断でしょう。

于 2012-09-06T05:58:32.147 に答える