我正在开发一个简单的“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--;
}
}
});
}
}
答案 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。