根据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学习笔记(七):多个Activity和Intent
Android源代码 演示3个功能: (1)Intent打开另外一个Activity (2)Intent拨电话 (3)Intent在2个Activity间传递数据
Activity和Intent(多个Activity之间的跳转)
【Android开发学习20】多个Activity间的交互之Intent。一个很基础的程序,仅仅实现一个按钮,跳转到另一个Activity去。
1. 掌握activity组件生命周期函数的用法 2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity
使用Intent filter来实现不同应用中Activity的相互跳转,点击A应用中的Activity,就跳转到B应用中的Activity,这种方式可以实现从一个应用的Activity 跳转到另一个应用的Activity,它们之间还可以传递数据。
实验目的: 1. 掌握activity组件生命周期函数的用法 2. 掌握使用intent实现...3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和task的关系
3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和task的关系 内容: 1、设计如下界面,包括四个按钮,两个文本框。单击对应按钮可以启动...
Android应用程序中一般都有多个Activity,在Activity中,通过调用StartActivity方法,并在该方法的参数中传递Intent对象,就可以实现不同Activity之间的切换和数据传递。 通过StartActivity方法传递intent对象来启动...
之前的例子一直都是使用Activity,在一个Layout XML与一个Activity捆绑的情况下可以视为一个Form,多个Layout XML与一个Activity捆绑的话那就是个Application本身了。Intent可以分为显式Intent和隐式Intent:显式...
在一个应用中创建多个Activity的方法,掌握通过Intent在两个Activity之间进行切换的方法,掌握通过Intent在两个Activity之间进行数据传递的方法,掌握在一个Activity中启动并监听新的Activity返回值的方法。
Android有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来...Intent可以分为显式Intent和隐式Intent:显式Intent用于启动明确的目标组件(前面所说的三大组件),同一个Application内的多个Ac
如何安全退出多个Activity 这个话题一直源源不断,这里我列举了6种解决方案,以便大家更好的使用它。 对应博文:http://blog.csdn.net/vipzjyno1/article/details/25423543 里面有详细描述分析,希望对你有帮助。
1.application标签里配置一个壳Activity 2.注册一下其中this为context AMSHookUtil.hookStartActivity(this); 3.以后就可以按照标准的Intent启动为那些未被注册的Activity。 Intent intent = new Intent...
startActivity(intent1); break; // 查看选项 case R.id.ck_cost: // new 一个意图 打开查看花费页面 Intent intent2 = new Intent(MainActivity.this, LookCost.class); startActivity(intent2); break; ...
本文实例讲述了Android基于Intent实现Activity之间数据传递的方法。分享给大家供大家参考,具体如下: MainActivity: package com.test.intentdemo; import android.app.Activity; import android.content.Intent;...
提供给刚刚学习android的学习者,其实很多地方都有资源。文件里面的程序涉及到两个Activity,通过Intent实现连接两个Activity
(2)多个Activity之间的跳转:通过Intent类实现屏幕之间的跳转(包括没有参数关系 和需要传递参数两种情况)。 (3)两个Activity之间进行数据交换:startActivity() 只有Intent一个参数;public void ...
Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。 Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个...