Java 如何在类之间共享变量?

Java 如何在类之间共享变量?,java,android,variables,android-2.2-froyo,Java,Android,Variables,Android 2.2 Froyo,假设我正在做一些类似于测验的事情,我有一个计数器来显示正确回答的问题的数量。当一个问题得到正确回答,并且显示了一个新的屏幕活动时,我如何将数字转入下一个屏幕?当你说屏幕时,你指的是活动吗?然后你可能想在你的意图中通过额外的方式传递它们 活动1: int score; ... Intent Intent = new Intent(...); intent.putExtra("score_key", score); startActivity(intent)

假设我正在做一些类似于测验的事情,我有一个计数器来显示正确回答的问题的数量。当一个问题得到正确回答,并且显示了一个新的屏幕活动时,我如何将数字转入下一个屏幕?

当你说屏幕时,你指的是活动吗?然后你可能想在你的意图中通过额外的方式传递它们

活动1:

    int score;

    ...
    Intent Intent = new Intent(...);
    intent.putExtra("score_key", score);
    startActivity(intent);
活动2的onCreate:


你说的屏幕是指活动吗?然后你可能想在你的意图中通过额外的方式传递它们

活动1:

    int score;

    ...
    Intent Intent = new Intent(...);
    intent.putExtra("score_key", score);
    startActivity(intent);
活动2的onCreate:


您可以根据自己的意图将数字、字符串等打包发送

Bundle b = new Bundle();
b.putInt("testScore", numCorrect);
Intent i = new Intent(this, MyClass.class);
i.putExtras(b);
startActivity(intent)

您还可以将StringArray和其他一些简单的变量放入包中

您可以根据自己的意图将数字、字符串等打包发送

Bundle b = new Bundle();
b.putInt("testScore", numCorrect);
Intent i = new Intent(this, MyClass.class);
i.putExtras(b);
startActivity(intent)

您还可以放置StringArray和其他一些简单的变量,通过这种方式,您可以在整个项目中共享数据

public class mainClass 
{
    private static int sharedVariable = 0;


    public static int getSharedVariable()
    {
          return sharedVariable;
    }
}

从另一个类/活动中,您可以使用classname和直接访问它。点运算符。e、 g.mainClass.getSharedVariable

其中一种方法是在整个项目中共享数据

public class mainClass 
{
    private static int sharedVariable = 0;


    public static int getSharedVariable()
    {
          return sharedVariable;
    }
}

从另一个类/活动中,您可以使用classname和直接访问它。点运算符。e、 g.mainClass.getSharedVariable

跨Activitiys存储变量的一个好做法是使用自己的应用程序类实现

public class MyApp extends android.app.Application {

private String myVariable;

public String getMyVariable() {
    return myVariable;
}

public void setMyVariable(String var) {
    this.myVariable = var;
}
在应用程序标记内的Manifest.xml中添加新类:

<application android:name="MyApp" android:icon="@drawable/icon" android:label="@string/app_name">

跨Activitys存储变量的一个良好实践是使用自己的应用程序类实现

public class MyApp extends android.app.Application {

private String myVariable;

public String getMyVariable() {
    return myVariable;
}

public void setMyVariable(String var) {
    this.myVariable = var;
}
在应用程序标记内的Manifest.xml中添加新类:

<application android:name="MyApp" android:icon="@drawable/icon" android:label="@string/app_name">

您可以用任何字符串替换score_键。这是确定额外成本的关键。只要确保两个键在放置和设置相同数据时匹配即可。您可以用任何字符串替换score_键。这是确定额外成本的关键。只要确保两个键在放置和设置相同数据时匹配即可。