共享偏好Android

时间:2014-04-24 13:08:50

标签: android android-activity sharedpreferences

我有以下问题:

我编写了一个包含2个活动的Android应用程序。第一个Activity是主要活动,第二个是设置。

Activity设置中,您可以使用EditText框输入您的姓名,该名称应在第一个Activity中显示为问候语。

我怎么能以一种非常简单的方式做到这一点?

3 个答案:

答案 0 :(得分:1)

您想要使用SharedPreferences吗?这是您从设置活动中保存数据的方式。在您引入名称后添加一个按钮以保存您的首选项,并将此代码放在Click listener上:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putString("NAME", yourEditText.getText().toString());
editor.commit();

然后在您的主要活动中,添加一个按钮和一个textview来显示名称。将以下代码添加到按钮:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = sharedPreferences.getString("NAME", null);
yourTextView.setText(name); //Add the name to your textview

希望它有所帮助!!

答案 1 :(得分:1)

你有两种方法。

首先:onActivityResult

在主要活动中:

使用startActivityForResult(intent, ACTIVITY2)

并添加此方法

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent intent)
{
    if (resultCode == Activity.RESULT_OK)
    {
        String string_1 = intent.getStringExtra ("my_value_from_second_activity", "");
    }
}

在“设置活动:

”中
Intent intent = new Intent ();
intent.putExtra ("my_value_from_second_activity", "hello");
activity.setResult (Activity.RESULT_OK, intent);

第二名:SharedPreferences,好方法

设置活动:

SharedPreferences settings = getSharedPreferences("config", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("my_value", edttext.getText().toString());
editor.commit();

主要活动:

SharedPreferences settings = getSharedPreferences("config", 0);
String value        = settings.getString("my_value", "");

答案 2 :(得分:1)

您可以通过意图将数据从一个活动传递到另一个活动  您还可以使用带有静态变量的常量类来存储值 并共享prefrenct存储数据,直到apk是安装程序,所以你可以使用一个