Intent和Bundle的简单例子

我对android几乎没有任何关于Java和XML的知识。 我正在通过我正在上网的pdfs进行学习。 我已经了解了Toast,有一些关于Intent的知识,但是我不能理解Bundles的任何内容。 我已经明白,他们是用来传递数据从一个活动到另一个,但我无法实现这一点。

请举个简单的例子来实现。

例如我刚刚创build了两个活动,即Main_Activity和Other_Activity,而我还没有对他们做任何事情。

请给出最简单的例子,以便我可以学习实施。

提前致谢!!

Solutions Collecting From Web of "Intent和Bundle的简单例子"

例如 :

在MainActivity中:

Intent intent = new Intent(this, OtherActivity.class); intent.putExtra(OtherActivity.KEY_EXTRA, yourDataObject); startActivity(intent); 

在其他活动:

 public static final String KEY_EXTRA = "com.example.yourapp.KEY_BOOK"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String yourDataObject = null; if (getIntent().hasExtra(KEY_EXTRA)) { yourDataObject = getIntent().getStringExtra(KEY_EXTRA); } else { throw new IllegalArgumentException("Activity cannot find extras " + KEY_EXTRA); } // do stuff } 

更多信息在这里: http : //developer.android.com/reference/android/content/Intent.html

试试这个:如果你需要在你使用这个活动之间传递值…

这是Main_Activity的代码将这些值的意图

  String name="aaaa"; Intent intent=new Intent(Main_Activity.this,Other_Activity.class); intent.putExtra("name", name); startActivity(intent); 

这个代码为Other_Activity并获取值的意图

  Bundle b = new Bundle(); b = getIntent().getExtras(); String name = b.getString("name"); 

基本上这是你需要做的:
在第一个活动中:

 Intent intent = new Intent(); intent.setAction(this, SecondActivity.class); intent.putExtra(tag, value); startActivity(intent); 

在第二次活动中:

 Intent intent = getIntent(); intent.getBooleanExtra(tag, defaultValue); intent.getStringExtra(tag, defaultValue); intent.getIntegerExtra(tag, defaultValue); 

其中一个get函数会给你返回值,这取决于你传递的数据types。