1)Intent无参数Activity跳转
大部分的Android应用程序都是有多个页面(即 Activity)组成,那么Activity之间的跳转就成为了一个最重要的操作,我们在Android中使用Intent对象来实现界面之间的跳转。Intent实现界面之间的跳转常用两种语法形式实现:
第一种:Intent intent = new Intent(源Activity.this, 目标Activity.class);
第二种:Intent intent = new Intent();
Intent.setClass(源Activity.this, 目标Activity.class);
Ø 应用案例
实现两个Activity之间的无参数跳转应用。
Ø 实现效果参考图
Ø 局部关键实现代码
l Activity_first.xml布局文件对按钮的声明
<Button
android:id="@+id/btnGoto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="跳转至第2个Activity"/>
l Activity_second.xml布局文件对按钮的声明
<Button
android:id="@+id/btnGoto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="跳转至第1个Activity"/>
l AndroidManifest.xml清单文件中对窗体的声明
<activity
android:name=".FirstActivity"
android:label="案例10.1 无参数跳转界面1">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=.SecondActivity"
android:label="案例10.1 无参数跳转界面2"/>
l FirstActivty.java中【跳转至第2个Activity】单击事件代码
Intent intent = newIntent(FirstActivity.this,
SecondActivity.class);
startActivity(intent);
l SecondActivity.java中【跳转至第1个Activity】单击事件代码
Intent intent = newIntent();
intent.setClass(SecondActivity.this, FirstActivity.class);
startActivity(intent);
2) Intent带参数Activity跳转(使用Intent.putExtra和Bundle)
窗体之间的跳转也需要参数的传递,我们在Android中实现窗体之间的参数传递主要有两种方式:一种是采用putExtra()方法;另一种是采用Bundle对象进行参数封装传递。
第一种:使用putExtra()方法实现参数传递
Ø 方法语法:putExtra(String name, Object value);
Ø 参数说明:name:代表参数的变量名称, value:代表参数的值
该方法为Intent对象中的一个方法,使用intent.putExtra(……)来实现参数的设置,那另一端接受方需要获取发送方传入的Intent对象,同时从Intent对象中通过设置的参数名称获取相应的参数值并进行处理,在这里要注意的是除字符串类型的参数外,其余类型的参数获取的时候都需要有默认值,以备无法正常获取参数时,使用默认值替代。
Ø 应用案例
实现两个窗体之间的跳转并使用Intent对象的putExtra方法完成参数
的传递。设置参数后,任然使用startActivity(intent)方法进行页面之间的跳转动作。
Ø 实现参考图
Ø 局部关键实现代码
l SendActivity.java中【发送消息】单击事件动作处理代码
Intent intent = newIntent(SendActivity.this,
ReceiveActivity.class);
String name = txtName.getText().toString();
int age = Integer.parseInt(txtAge.getText().toString());
intent.putExtra("name", name);
intent.putExtra("age", age);
startActivity(intent);
l ReceiveActivity.java中获取Intent携带参数并显示的处理代码
Intent intent = this.getIntent();
String name = intent.getStringExtra("name");
int age = intent.getIntExtra("age", 0);
this.txtMessage.setText("姓名:"+name+"\n年龄:"+age);
第二种:使用Bundle对象实现参数封装后页面跳转传值
Ø 构造方法:Bundle bundle = new Bundle();
Ø 对象方法:putXXXX(String name, Object value); 设置传递参数,XXXX代表传递参数的类型。
Ø 参数说明:name:代表参数的变量名称, value:代表参数的值
Bundel对象使用putXXXX()方法将待传递的参数封装到Bundle对象中,使用Intent对象的putExtras(Bundle bundle)方法将参数整体打包进行传递,要获取发送方传入的Bundel对象的时,使用getExtras()方法获取Bundel对象,同时使用getXXX(String name)方法获取Bundle中封装的某个具体参数的变量名称。在这里要注意的是除字符串类型的参数外,其余类型的参数获取的时候都需要有默认值,以备无法正常获取参数时,使用默认值替代。
Ø 应用案例
实现一个新用户信息注册并显示注册信息的功能,该功能使用Bundle对象完成多参数的封装传递,并在接收方实现对Bundle封装数据的处理操作。
Ø 实现参考图片
Ø 局部关键实现代码
l RegisterActivity.java【马上注册】按钮单击事件处理代码
// 步骤1:获取编辑文本框中用户输入的数据
String name = txtName.getText().toString();
String dept = txtDept.getText().toString();
String job = txtJob.getText().toString();
String email = txtEmail.getText().toString();
// 步骤2:创建Bundled对象并将数据进行封装
Bundle bundle = newBundle();
bundle.putString("name", name);
bundle.putString("dept", dept);
bundle.putString("job", job);
bundle.putString("email", email);
// 步骤3:创建Intent对象
Intent intent = newIntent();
intent.setClass(RegisterActivity.this,
ResultActivity.class);
// 使用putExtras()方法将Bundle对象装载到Intent中
intent.putExtras(bundle);
startActivity(intent);
l ResultActivity.java 接受Bundle封装的数据并进行获取显示
// 步骤1:获取Intent对象
Intent intent = this.getIntent();
// 步骤2:使用getExtras()方法获取Bundle对象
Bundle bundle = intent.getExtras();
// 步骤3:使用getXXX(String name)方法获取Bundle中的对应数据
String name = bundle.getString("name");
String dept = bundle.getString("dept");
String job = bundle.getString("job");
String email = bundle.getString("email");
this.txtMessage.setText("姓名:" + name + "\n部门:" +dept
+ "\n职位:" + job+ "\n电子邮箱:" + email);
作者:中软卓越天津ETC
相关推荐
本篇文章将深入讲解如何使用Intent在Android应用中跳转到这些地图应用,并在用户未安装相应地图应用时提供备选方案,如打开网页版地图。 首先,我们需要了解Intent的基本结构。Intent通常由两部分组成:Action和...
Android Intent 跳转到系统应用中的拨号界面、联系人界面、短信界面 在 Android 开发中,Intent 是一个非常重要的概念,它允许不同的应用程序之间进行交互和通信。在本文中,我们将探讨如何使用 Intent 跳转到系统...
本文将深入探讨Android程序间Intent跳转分析的相关知识点。 首先,Intent是Android系统中的一种消息对象,用于封装一个动作(Action)以及动作涉及的数据(Data)。在描述中提到的"跳转分析器"是一个开发者工具,它...
本文将深入探讨“Android Intent”在页面跳转和数据传递中的应用,结合“Chapter06_Intent_01”示例进行详细解析。 一、Intent的基本概念 Intent是一个消息对象,它表达了应用的意图,告诉系统想要执行的操作。...
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它用于启动新的Activity或者Service,同时还可以传递数据。本文将深入探讨如何使用Intent进行页面跳转并传递参数。 首先,我们来了解一下Intent的基本...
在这个场景中,我们将关注Intent如何用于在Android应用中实现各种跳转,特别是与电话、联系人和短信相关的界面。 1. **拨号界面跳转**: - 使用`ACTION_CALL_BUTTON`行动,可以启动拨号界面,让用户直接进行拨号...
### Android Intent跳转详解 在Android开发中,`Intent`是一种非常重要的机制,它主要用于启动新的活动(Activity)或者向其他组件发送消息。通过Intent,我们可以实现Activity之间的跳转、数据传递等功能,这对于...
本教程将详细讲解如何在Android应用中实现从一个应用跳转到另一个应用。 首先,我们需要了解Android中的Intent机制。Intent在Android系统中扮演着消息传递的角色,它用于启动活动(Activity)、服务(Service)或...
通过以上步骤,你可以实现Android应用中Activity间的带返回值跳转。熟练掌握这一技巧,有助于构建更复杂的交互流程。在实际项目中,还可以使用Parcelable或Serializable接口传递复杂对象,或使用Bundle传递更多类型...
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它被用来启动新的Activity或Service,也可以传递数据。本文将深入探讨如何在两个Activity之间通过Intent进行数据传递。 首先,理解Intent的基本概念。...
此外,为了提供更好的用户体验,我们还可以在Activity中添加错误处理,当用户未安装我们的应用时,通过`adb shell am start -W -a android.intent.action.VIEW -d "myapp://..."`命令测试URI是否能正确跳转。...
Intent页面跳转是Android应用中常见的功能,通常涉及Activity之间的交互。在这个场景下,我们点击一个按钮,从第一个页面(Activity)跳转到第二个页面(Activity)。下面将详细解释Intent的工作原理以及如何实现...
接下来,我们将深入探讨Android应用中如何进行界面跳转。 首先,`Activity`是Android中的一个核心组件,它代表了应用的单一屏幕,可以看作是应用的一个窗口或一个界面。每个Activity都有自己的生命周期,包括创建、...
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它用于启动新的Activity或者服务,以及在组件间传递数据。Intent可以分为显式Intent和隐式Intent。本篇将重点讲解如何利用Intent在Android中调用Activity...
在Android应用开发中,Intent是连接各个组件的重要桥梁,它用于启动其他Activity、Service或BroadcastReceiver,甚至可以启动意图过滤器。在这个简单的示例中,我们关注的是如何使用Intent进行页面间的跳转,而不...
本文将深入探讨Intent的概念、类型、创建与使用,以及如何通过Intent在Android应用程序中实现页面跳转。 Intent是Android系统中一个核心的概念,主要用于组件间的通信。在Android四大组件(Activity、Service、...
4. **处理权限**: 如果目标应用需要权限才能被调用,需要在AndroidManifest.xml中声明,同时在调用方应用中处理权限请求。 现在,让我们看下在Android Studio中如何操作: 1. **创建项目**: 打开Android Studio,...
在Android应用开发中,Intent是连接应用程序组件的重要机制,它被用来启动新的...在MyIntent这个示例项目中,可能包含了实现这一功能的具体代码,通过查看和学习这些代码,你可以更好地理解Intent在实际应用中的运用。
在Android开发中,Intent是一个非常重要的概念,它用于在组件之间传递消息,是Android系统启动服务、启动或跳转Activity的主要手段。本篇文章将详细解释Intent的基本使用以及如何通过Intent实现在两个Activities之间...