我可以通过SharedPreferences从2个活动中接收价值数据吗?

时间:2012-12-02 07:06:06

标签: android sharedpreferences

如何从2 Activities接收值(传递数据)?

我有3个活动,ActivityOneActivityTwoActivityThree。我想将值{(传递数据)从ActivityOne发送到ActivityThree,将ActivityTwo发送到ActivityThree

ActivityThree中的所有数据都不会被销毁,因此ActivityOneActivityTwo中的所有值数据都会在ActivityThree中被删除。来自ActivityOne的{​​{1}}中的临时变量和来自ActivityThree的数据中的数据也会保存ActivityTwo中的临时变量。因此,我可以同时显示ActivityThreeActivityOneActivityTwo的所有值数据,

我可以ActivityThree吗?如果是,可以任何人提供一个例子吗?

2 个答案:

答案 0 :(得分:1)

使用SharedPreferences并不是一个坏主意,但您的要求是暂时的。所以你最好使用Bundle Extras。获取Bundle对象并通过bundle将所有第一个活动变量传递给Second Activity。从意图中检索包并将第二个活动变量放在同一个包中,并将其传递给第三个活动。检索第三个活动中的Bundle并使用它们。我希望这会对你有所帮助。

Bundle b = new Bundle();
b.putString("name","value");
b.putInt("name1",9);
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
i.putExtras("bundle",b);
startActivity(i);

在第二项活动中检索

Bundle b = getIntent().getBundleExtra("bundle"):
b.putString("namein2",value);
b.putInt("nameIntin2",8);
Intent i = new Intent(SecondActivity.this,ThirdActivity.class);
i.putExtras("bundle",b);
startActivity(i);

检索捆绑包并在第三个活动中使用它

答案 1 :(得分:0)

如果您使用共享偏好,

    //Get shared preference
    SharedPreferences prefs = this.getSharedPreferences("ANY_NAME_TO_IDENTIFY", Context.MODE_PRIVATE);

    //To set value
    pref.edit().putString("NAME", "Simone").commit();
    pref.putLong("NUMBER", new Date().getTime()); 

    //To get value

    pref.getString("NAME", "Put_any_default_value");
    pref.getLong("NUMBER", new Date().getTime());