根据www.mars-droid.com:Andriod开发视频教学,先跳过书本《Beginning Android 2》的几个章,我是这两个资源一起看,需要进行一下同步。先初步了解一下应用具有多个Activity的处理情况。

视频中自然不会如同书本讲的仔细,胜在快速明了,反正也只是工具,所以这次主要重点在于如何操作。Intent用于在一个应用中多个Activity的调用和数据传递,也可用于调用其他服务(应用)。

1、Button触发

在《Android学习笔记(六):xml和widget》中,我们通过Android XML以及实现View.OnClickListener接口的方式来处理button触发调用,这里我们采用后一种方式,并做了稍稍改动。

public class Activity01 extends Activity {
private Button mybutton = null; public void onCreate(Bundle savedInstanceState) {
... ...
mybutton.setOnClickListener(new MyButtonListener());
} class MyButtonListener implements View.OnClickListener{
public void onClick(View v) {
... ... /* 在此,我们将调用另一个Activity */
}
}
}

2、编写另一个Activity

我们编写一个简单的Activity类OtherActivity,其中只有一个TextView。

public class OtherActivity extends Activity{
private TextView myTextView = null; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
myTextView = (TextView)findViewById(R.id.myTextView);
}
}

编写一个Activity,必须在AndroidManifest.xml中进行注册:

    <?xml version="1.0" encoding="utf-8"?>
<manifest ... ...>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Activity01" android:label="@string/app_name"> ... ... </activity>
<activity android:name=".OtherActivity" android:label="@string/other" /><!-- 在res/values/strings.xml中增加other的定义 <string name="other">It/'s other activity!</string> -->
</application>
</manifest>

3、通过Intent,在Activity01中调起OtherActivity,并向OtherActivity传递某个信息

在MyButtonListener中的onClick:

 Intent intent = new Intent();
intent.putExtra("param_str", "Info from Activity01"); //向另一个Activity传递<name,value>,value采用string的格式,也可以是其他
intent.setClass(Activity01.this, OtherActivity.class);//指出是哪个Activity,setClass(对象,类),对于嵌套类,为了提供良好的阅读方式并避免奇异,我们都指明是哪个类
Activity01.this.startActivity(intent); //启动另外的Activity,作为View的方法,可以直接使用startActivity,由于嵌套类,这样些可以清晰一些。

4、在Otherctivity中接受传递的信息

 Intent intent = getIntent();
String value = intent.getStringExtra("param_str");

5、intent也可以调用其他的应用,例如发送短信

Uri uri = Uri.parse("smsto:0000123456");
Intent intent = new Intent(Intent.ACTION_SENDTO,uri);//Intent(String action,Uri uri)对uri进行某个操作,ACTION_SENDTO:Send a message to someone specified by the data.
intent.putExtra("sms_body", "This is my text info from Activity01."); //传递SMS的文本内容
Activity01.this.startActivity(intent); //启动另外的Activity,并不限于是否是同一个应用。系统收到相关消息,将调起相关应用

多个Activity和Intent(转)的更多相关文章

  1. Android 学习Activity(1)activity和intent

    工具是:JDK环境配置+SDK+ADT工具 一.Activity  主要作用: 1.用户与应用程序的接口 2.控件的容器 二.创建Activity要点:(在src中的目录下包里) 1.一个Activi ...

  2. 常见的Activity Action Intent常量

    Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...

  3. 【转】Android Activity和Intent机制学习笔记----不错

    原文网址:http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html Activity Android中,Activity是所有程序的根 ...

  4. Android Activity和Intent机制学习笔记

    转自 http://www.cnblogs.com/feisky: Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具 ...

  5. Activity 和 Intent

    Activity 和 Intent 一.Intent指向Activity 二.利用 Intent 向第二个 Activity 传数据 三.利用 Intent 接受第二个 Activity 的返回值 四 ...

  6. Activity及Intent

    1.Activity 在一个Android应用程序中,Activity是为用户操作而展示的可视化界面.比如你要打电话,这个时候的拨号界面就是一个Activity,你要发短信给你的女朋友,这个短信窗口就 ...

  7. 二、activity与Intent

    (一) 多个activity之间的跳转(无值传递) 第一步:创建activity(其实就是jave文件),并进行注册 在AndroidManifest.xml中 <activity androi ...

  8. 【Android开发学习笔记】【第三课】Activity和Intent

    首先来看一个Activity当中启动另一个Activity,直接上代码说吧: (1)首先要多个Activity,那么首先在res-layout下新建一个 Other.xml,用来充当第二个Activi ...

  9. 5、四大组件之一-Activity与Intent

    一.Activity的定义及作用 1)官方定义:Activity是Android应用程序提供交互界面的一个重要组件 . 也是Android最重要的组件之一 2)Activity是业务类 , 是承载应用 ...

随机推荐

  1. Proguard 保留native methods的问题

    发现一个奇怪的问题,如果使用下面的配置来keep的话,native的方法还是被删掉了,百思不得其解. -keepclasseswithmembers class * {     native *; } ...

  2. java socket报文通信(二)报文的封装

    昨天我们谈了怎么建立socket通信的服务端和客户端,今天我们就来谈一谈怎么封装报文. 什么是报文这里我就不在阐述了,不清楚的朋友可以自己去查资料.我们今天要谈的报文主要友以下几个部分组成: 3位同步 ...

  3. struts 标签引用出错

    几句句话概括 1.检查 web.xml  出现错误自己改 配置后filter  jsp-config 2.检查 tld 目录下的东西 是否缺少 3. 将包复制到web的lib目录下后    之后  b ...

  4. 关于plist文件

    一.代码创建plist文件: NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomain ...

  5. 浅谈Block传值-匿名函数(代码块)

    block传值是从后往前传值---代理也是 // 使用block时, 不能访问self, 也不能直接访问属性, self.属性, 用self调用方法; 只要这样做了, block都会对其强引用一份, ...

  6. VPS,虚拟主机,云主机,独立服务器区别

    作者:张朝权链接:http://www.zhihu.com/question/25507629/answer/105594087来源:知乎著作权归作者所有,转载请联系作者获得授权.   独立服务器独立 ...

  7. (二)CodeMirror - 配置项

    theme: string theme:'monokai' 引入对应的css, <link rel="stylesheet" href="../theme/mono ...

  8. 头文件 .h 与源文件 .ccp 的区别

    .h 文件一般是用来定义的,比如定义函数.类.结构体等: .cpp 文件则是对头文件的定义进行实现. include .h文件,可以调用你声明的函数.类等.当然,比较简单的类.函数,你也可以直接在头文 ...

  9. asp编程中获取上下两个月第一天和最后一天的代码

    经常在asp编程遇到要获取上个月第一天和最后一天的日期,获取下个月第一天和最后一天的日期.这里总结了一下,将这些asp代码全部列出来了,以便以后遇到的时候使用.    上个月第一天:<%=dat ...

  10. Network Attack

    Network Attack Nicola regularly inspects the local networks for security issues. He uses a smart and ...