在两个类中打印相同的名称

时间:2015-04-22 21:13:04

标签: java android

我正在制作一个测验应用程序,它通过在第一个活动中取名来欢迎用户,这就是我到目前为止所做的。现在我想在ResultActivity中打印用户名,如何在同一个项目中的两个不同的类中添加一个名称?

Intent intent = new Intent(name.this, Main.class);
intent.putExtra("name", et.getText().toString());
startActivity(intent);

这是在Main类中引用名称,我也希望Result活动中的名称。

由于

4 个答案:

答案 0 :(得分:2)

最简单的方法是将用户名作为键和值存储在共享首选项文件中。

SharedPreferences - 正确的方式

SharedPreferences提供了在设备存储上存储持久简单值的简便方法。我们经常使用它来存储一些用户或应用程序的首选项,并在许多地方之间共享 - 比如多个活动。 (在您的情况下,您希望存储用户的名称并在多个活动之间共享)。

在Android中使用SharedPreferences时,基本上可以执行两项主要操作。那就是商店数据和加载数据。你应该:

  • 创建一个新的SharedPreferences对象。
  • 然后从该对象获取Editor个实例。 Editor对象将帮助您处理已存储的数据。
  • 使用putStringputBoolean方法存储一对密钥/值。
  • 使用getBoolean,getString来获取所需的值。

只需使用此自定义方法保存用户名称:

 private void savePreferences(String key, String value) {
        SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
        editor.putString(key, value);
        editor.commit();
    }

使用示例:

savePreferences("name", et.getText().toString());

现在,您可以根据需要在任何活动中检索用户名。 (ResultMain ...)

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String name = prefs.getString("name", null);
希望我能帮到你。 快乐编码:D

答案 1 :(得分:1)

为什么不利用SharedPreferences? 你可以在这里找到更多: https://stackoverflow.com/a/21055784/754783

答案 2 :(得分:1)

您可以将另一个意图从Main类发送到ResultActivity

String name = getIntent().getStringExtra("name");// get the string from previous activity

//pass the intent to the ResultActivity
Intent intent = new Intent(Main.this, ResultActivity.class);
            intent.putExtra("name", name);
            startActivity(intent);

您可以执行的另一种方法是将名称保存在SharedPreference中。供参考,请点击http://www.tutorialspoint.com/android/android_shared_preferences.htm

答案 3 :(得分:0)

在您的结果活动中: 在onCreate中,您可以使用

获取名称
String name = getIntent().getStringExtra("name", "A_Default_String");