保存按钮点击次数

时间:2014-02-15 10:00:14

标签: java android android-activity

我正在开发一个简单的“Click Countdown”应用程序,该应用程序基本上具有imagebutton
功能。
按下时,它显示从10到9,8,7,...到0的点击次数。
我有一个问题,当我关闭应用程序时,点击次数从第10页开始。 我知道这是一个很初学的问题,但有人可以帮助我吗?
如何保存点击次数?

这是我到目前为止的代码:

package com.example.testapp;

import com.example.testapp.R;

import android.os.Bundle;
import android.app.Activity;
import android.widget.ImageButton;
import android.view.View;
import android.widget.TextView;
import android.view.View.OnClickListener;
import com.google.ads.AdRequest;
import com.google.ads.AdView;

public class MainActivity extends Activity {

    ImageButton button1;
    TextView textView1;
    int counter = 10;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        AdView adView = (AdView)this.findViewById(R.id.adView);
        adView.loadAd(new AdRequest());

        ImageButton imageButton;
        imageButton = (ImageButton) findViewById(R.id.button1);
        textView1 = (TextView) findViewById(R.id.textView1);
        button1 = (ImageButton) findViewById(R.id.button1);
        imageButton.setOnClickListener(new OnClickListener(){



            public void onClick(View v) {
                if (counter >= 1) {
                    counter--;
                    textView1.setText("" + counter);
                } else if (counter == 0){
                    button1.setImageResource(R.drawable.picture2);
                    counter--;

                }


            }
        });
    }

}

2 个答案:

答案 0 :(得分:1)

看看SharedPreferences。它们允许您在会话之间保存数据:

E.g。

启动时:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
clickCount = sharedPreferences.getInt("Click_Count", 0);

保存:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putInt("Click_Count", clickCount);
editor.commit();

答案 1 :(得分:0)

您可以将您的计数值保存在SharedPreferences中,如下所示......

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor prefsEditor = prefs.edit();

public void onClick(View v) {
    if (counter >= 1) {
        counter--;
        textView1.setText("" + counter);

        prefsEditor.putInt("counter", counter);
        prefsEditor.commit();

    } else if (counter == 0){
        button1.setImageResource(R.drawable.picture2);
        counter--;

        prefsEditor.putInt("counter", counter);
        prefsEditor.commit();

    }
}

从SharedPreferences中检索该计数器值,如下所示......

counter = prefs.getInt("counter", 10);

现在,如果使用密钥“counter”在SharedPreferences中找不到值,则它将返回默认值10。