根据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,并不限于是否是同一个应用。系统收到相关消息,将调起相关应用
相关链接:
我的Android开发相关文章
分享到:
相关推荐
Android学习笔记(七):多个Activity和Intent
Android Activity和Intent机制学习笔记
Android源代码 演示3个功能: (1)Intent打开另外一个Activity (2)Intent拨电话 (3)Intent在2个Activity间传递数据
Android_Activity和Intent机制学习笔记
【Android开发学习20】多个Activity间的交互之Intent。一个很基础的程序,仅仅实现一个按钮,跳转到另一个Activity去。
1、设计界面,包括四个按钮,两个文本框。单击对应按钮可以启动对应activity。假定Activity A为启动...2、修改 Activity 的启动模式 LaunchMode,并通过 Log 信息来体会不同启动模式所对应的Activity 和 task 的关系
主要为大家详细介绍了Android利用Intent启动和关闭Activity的相关操作,感兴趣的小伙伴们可以参考一下
主要讲解了android中Activity和intent的使用。适合初学者!
Android Intent 学习笔记
android activityIntent 传值 传对象
Android学习笔记(三五):再谈Intent(下)-一些实践
Android Studio 实验二:Intent的使用
Android:Intent页面跳转,Activity生命周期,Service服务,广播代码实例
android 利用intent调用activity 简明精炼的例子 传递数据,并且有返回值
Android开发学习笔记(整理),整理论坛android学习笔记,较完整的讲解了android的内容。包括:view、activity、service、intent、广播机制、http连接、数据sqllite存储、后台线程、各种layout、偏好、本地文件操作、...
Android Activity和Intent机制
Android Activity和Intent机制,讲得十分详细。
Activity和Intent(多个Activity之间的跳转)
android入门级视频:Android基本组件介绍之Android应用的灵魂——Intent和Activity介绍与实例
Android学习笔记(三四):再谈Intent(上)-一些知识