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

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

在你目前的活动中,创build一个意图

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); } 

使用全球课程:

 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; } } 

你可以从所有其他类中调用这个类的setters和getters。 这样做,你需要在每个实体中创build一个GlobalClass对象:

 GlobalClass gc = (GlobalClass) getApplication(); 

那么你可以打电话举例说明:

 gc.getVitaminA() 

把这个放在你的次要活动中

 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(); }