如何在androidstudio中实现高分并在活动之间传输?

rsaldnfx  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(347)

这个问题在这里已经有答案了

如何在android应用程序中保存数据(10个答案)
在android应用程序中,如何在活动之间传递数据(52个答案)
9天前关门了。
我正在创建一个游戏,你点击图像,以增加分数之前,它消失。我有3个活动,第一个是按开始键,另一个是玩游戏时看你的分数,最后一个是看你的分数。
我的问题是,我想在最后一个活动中添加一个高分部分。我该如何实现这一点?
这是我增加分数的代码(它与点击的图片相链接):

public void increaseScore(View view) {
    score = score + 1;
    scoreText.setText("Score: " + score);
}

以下是更改活动的代码:

public void changeActivity() {
    UserScore = scoreText.getText().toString();
    Intent intent = new Intent(GameActivity.this, FinishActivity.class);
    intent.putExtra("Score", UserScore);
    startActivity(intent);
}
euoag5mw

euoag5mw1#

你应该使用 SharedPreference 在本地保存高分。只有卸载应用程序或清除应用程序的数据时,此值才会被删除。共享参考文档-https://developer.android.com/training/data-storage/shared-preferences

flmtquvp

flmtquvp2#

在java和androidstudio中,在屏幕之间传递数据的另一种方法是创建一个intent,在该intent中可以在屏幕之间发送数据。youtube上有教程,如果你有兴趣了解它们的话。
不过我可以告诉你: Intent intent= new Intent(this, SecondActivity.class); 创造意图。secondactivity是我们要将数据发送到的类的名称。当我们想要运行intent时,我们需要放置一些数据然后启动它: intent.putExtra("winner",WINNER); -输入数据(示例)
然后您需要启动活动,以便它进入您要发送数据的目标页面/屏幕。你在你的代码里做得对。之后你需要在第二个活动中得到它-

Intent intent=getIntent();
if(intent.getIntExtra("winner",-1)==-1) { winner.setText("TIE"); }

它看起来像这样,然后你可以做同样的事情,如果你想发送数据回来,并确保每次都使用finish()函数,这样意图就不会溢出,因为有那么多将在同一时间打开,而不会做任何事情。

相关问题