如何在 Android Studio 中实现高分并在活动之间转移?

问题描述

我正在创建一个游戏,您可以在其中点击图像以在图像消失之前增加分数。我有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);
}

解决方法

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

,

在 java 和 android studio 中的屏幕之间传递数据的另一种方法是创建一个意图,您可以在其中将数据从屏幕发送到屏幕。 如果您有兴趣了解它们,可以在 youtube 上找到相关教程。

虽然这里有一点我可以给你看:

Intent intent= new Intent(this,SecondActivity.class); 创建一个意图。第二个活动是我们要将数据发送到的类的名称。 当我们想要运行意图时,我们需要放置一些数据然后启动它:

intent.putExtra("winner",WINNER); - 输入数据(示例)

然后您需要启动活动,以便它转到您要发送数据的目标页面/屏幕。你在你的代码中做对了。 之后你需要在第二个活动中获得它-

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

它看起来像这样 那么你可以做同样的思考,如果你想把数据发回,并确保每次都使用 finish() 函数,这样意图就不会溢出,因为很多意图会同时打开而不做任何事情.