gpt4 book ai didi

android - 我如何在 android 的计数器中使用共享首选项?

转载 作者:行者123 更新时间:2023-11-29 15:07:41 25 4
gpt4 key购买 nike

打扰一下,因为我的 3 个简单问题,但我需要你的帮助。我想在我的应用程序中有一个计数器(使用 shared preference),如下所示:

  • 首先,有 2 个按钮,STARTRESET。如果 RESET 是单击,计数器从 0 开始。此外,如果点击 START,计数器将从共享偏好数据开始。
  • 开始数数
  • 最后一次,我想在股票偏好中保存计数器。 (但我不知道将它保存在 BACK btn 或 CLICK btn 中更好)

我的问题出在共享偏好部分。请帮帮我,我该怎么做?非常感谢!


编辑:这是我的代码

public class CountActivity extends Activity {
private Button click;
private int count,savedCount;
private String count_text;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.counting);

click= (Button) findViewById(R.id.vow_counting);
final Typeface typeface = Typeface.createFromAsset(getAssets(),"fonts/Far_Homa.ttf");

final SharedPreferences sharedPreferences=getSharedPreferences("counters", Context.MODE_PRIVATE);
final SharedPreferences.Editor editor=sharedPreferences.edit();

AlertDialog.Builder fBuilder=new AlertDialog.Builder(VowCountActivity.this);

fBuilder.setMessage("please choose");
fBuilder.setCancelable(false);

fBuilder.setPositiveButton("start from beging", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
count = sharedPreferences.getInt("counter", 0);

click.setText("0");
click.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/Far_Homa.ttf"));
dialogInterface.cancel();
}
});

fBuilder.setNegativeButton("countinue", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
count = sharedPreferences.getInt("counter",savedCount);

editor.putInt("counter",savedCount).commit();
dialogInterface.cancel();
}
});

fBuilder.show();



click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
count++;
count_text=Integer.toString(count);
click.setText(count_text);
click.setTypeface(typeface);
savedCount = sharedPreferences.getInt("savedCounter", count);
vibrate(500);
}
});
}


// vibrate
public void vibrate(int duration) {
Vibrator vibs = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibs.vibrate(duration);
}

最佳答案

要在开始按钮上获取值,您可以定义此函数并为共享首选项设置值

public static int getIntPreferences(String key) {
SharedPreferences settings = context.getSharedPreferences(SP_FILE_NAME, 0);
return settings.getInt(key, 0);
}

现在要重置您的共享首选项值,您可以使用以下函数

public static void updatePreferences(String key, int value) {
SharedPreferences settings = context.getSharedPreferences(SP_FILE_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt(key, value);
editor.commit();

}

关于android - 我如何在 android 的计数器中使用共享首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35429634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com