1

さまざまなアクティビティを持つアプリを作成しています。各アクティビティは、画面がタップされた回数をカウントします。すべてのアクティビティの合計カウント数を個別に保存したい (つまり、アクティビティ 1 を 10 回タップすると、10 回保存されるはずです。次に 5 回タップすると、アプリはアクティビティ 1 に対して 10+5=15 を保存する必要があります)

タップでのアクティビティは単純なことです

count++;

どうすればこれを簡単に実装できますか? 私はアンドロイド開発に慣れていないので、よろしくお願いします:)

4

2 に答える 2

3

プリファレンスを使用して、永続的な状態でカウントを保存する必要があります。静的変数を使用すると、他のアプリの優先度が高くなるとバックグラウンド アクティビティが破棄される可能性があり (たとえば、ホームを押してアプリを復元する前に長時間そのままにしておく)、メモリが少なくなるとすべての値が消去されます。

SharedPreferences countSettings = getSharedPreferences("count", 0);

// get current counts
int count = countSettings.getInt("counts",0);
count++;
final SharedPreferences.Editor edit = countSettings.edit();
edit.putInt("counts",count);
edit.commit();
于 2013-07-09T06:12:48.150 に答える
0

ルートOnTouchListenerタグと

@Override
    public boolean onTouch(View v, MotionEvent touchevent) {
        count++;
        return true;
    }

onDestroyメソッドで優先的に保存します。

于 2013-07-09T06:08:32.673 に答える