在Android中的活动之间传递数据

时间:2010-06-03 10:36:35

标签: android

如何在Android应用程序中的活动之间传递数据?

3 个答案:

答案 0 :(得分:56)

在您当前的活动中,创建一个意图

Intent i = new Intent(getApplicationContext(), ActivityB.class);
i.putExtra(key, value);
startActivity(i);

然后在另一个活动中,检索这些值。

Bundle extras = getIntent().getExtras(); 
if(extras !=null) {
    String value = extras.getString(key);
}

答案 1 :(得分:1)

使用全局类:

public class GlobalClass extends Application
{
    private float vitamin_a;


    public float getVitaminA() {
        return vitamin_a;
    }

    public void setVitaminA(float vitamin_a) {
        this.vitamin_a = vitamin_a;
    }
}

您可以从所有其他类调用此类的setter和getter。 要做到这一点,你需要在每个Actitity中创建一个GlobalClass-Object:

GlobalClass gc = (GlobalClass) getApplication();

然后你可以打电话给例如:

gc.getVitaminA()

答案 2 :(得分:0)

将其放入您的辅助活动

SharedPreferences preferences =getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE);

android.content.SharedPreferences.Editor editor = preferences.edit();

editor.putString("name", "Wally");
            editor.commit();

将其放入您的MainActivity

SharedPreferences preferences = getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE);

if(preferences.contains("name")){

Toast.makeText(getApplicationContext(), preferences.getString("name", "null"), Toast.LENGTH_LONG).show();

}