
Intent与Activity之间
在一个项目之中,会由多个Activity程序所组成,那么此时,这多个Activity程序之间就需要进行通讯,而这之间的通讯就依靠Intent完成。

Activity程序支持的Intent操作方法

Intent是一个动作和内容的集合。 Android使用Intent来完成屏幕间的切换操作。这段代码实现了页面的跳转但无法直接回到前一个页面,我们只可以通过按下[Undo]键返回原屏幕Intent可以通过Bundle来传送参数,在第7行后面(第8行前)加上下面的代码:Bundle bundle = new Bundle();bundle.putSting("KEY_NAME",edit_name.getText());bundle.putSting("KEY_AGE",edit_age.getText().toSring());intent.putExtras(bundle);
在P2 Activity中通过Bundle来接收参数:
DecimalFormat nf = new DecimalFormat("0.00"); //
Bundle bunde = this.getIntent().getExtras();
string name = bunde.getString("KEY_NAME");
double age = Double.parseDouble(bunde.getString("KEY_AGE"));
如第二行,使用Activity.getIntent()函数得到传来的Intent,使用getExtras得到bundle;如第四行,Double.parseDouble将字符串转换成0.00格式的数字。使用 Intent 時,可以用「setClass」指定要传送到的 Activity。我們也可以使用「setString」、「setInt」方法指定要通过 Intent 传送的参数。在使用 Intent 接收时,再使用「this.getIntent().getData()」方法取出参数。「getData」方法取到的参数一般是字符串型的。 若事先知道傳來的类型,还可以用比「getData」方法更精确的「getString」、「getInt」等方法來取得参数值。尽管将intent作为唤醒其他组件机制是很好理解的,不过Android还赋予了Intent这个概念更多的含义。你可以在你的应用中通过intent唤醒其他的应用,还可以唤醒应用内部及外部的各种组件。你可以通过intent发起事件,而其它人则通过一种类似发布与订阅的方式来做出相应。你可以通过intent唤醒闹钟提醒。
注:什么是intent,简而言之,可以说intent就是一个动作,并且该动作上负载着数据。从最简单的水平来看,intent是一个让Android去做(唤醒)什么的动作。Android唤醒某个动作取决于为该动作注册了什么内容你可以通过测试来用intent唤醒Android自带的一些应用以下页面介绍了一些可以被唤醒的Android自带应用。(http://developer.android.com/guide/appendix/g-appintents.html)注:这些名单可能根据Android发布版本不同而发生变化。剩下的可被唤醒的应用包括: 浏览器应用,用来打开浏览器窗口。打电话应用。拨号键盘,用户通过其拨打号码。 地图应用,用来显式给定经纬度的地址。给定经纬度的地址。

