配色: 字号:
《Android项目式程序设计》03 界面跳转和信息传递写字字帖
2023-05-24 | 阅:  转:  |  分享 
  
项目三界面跳转和信息传递学习目标掌握页面跳转的方法掌握Intent传参的相关知识情景导入手机应用程序由多个应用界面组成,当用户实现应用程序的
某个功能的时候,往往会需要从当前界面跳转到另一个界面,在Activity相互切换时,会有具体的信息传递,为了实现Activity跳
转以及传参,需要对Intent进行进一步了解。本次任务主要实现界面Intent跳转和信息传递。任务描述【功能描述】本任务将设计一款
界面跳转的软件使用线性布局技术来设计登录系统界面实现欢迎界面跳转到主界面点击“跳转到音乐室”按钮,跳转到音乐室【基本框架】基本框架
如图3.1-3.3所示,将框架图转换成的效果如图3.4-3.6所示。任务描述图3.1欢迎系统导航界面框架图图3.2登录系统主界面框
架图图3.3登录系统音乐室界面框架图 任务描述图3.4欢迎系统导航界面图3.5登录系统主界面图3.6登录系统音乐室界面任务技能技能
点1 Activity介绍 1 Activity简介Acitvity是一个显示在屏幕上的用户交互界面,是用户可以见到的界
面,进一步说,Activity的每个界面都是独立的,主要是用户体验不同的Android应用程序。应用除了可以访问自己的Activi
ty,也可以访问其它APP的Activity,这一点会在下面的项目中讲到。任务技能2 Activity生命周期Activity有
生命周期,跟人的出生和死亡一样,Activity实例是由系统创建,并在不同状态期间回调不同的方法。一个最简单的完整的Activit
y生命周期会按照如下顺序回调:onCreate() -> onStart() -> onResume()-> onPause()
-> onStop() -> onDestroy()。Android的生命周期如图3.7所示。任务技能图3.7 Activity生
命周期任务技能Activity生命周期里可以看出,系统在终止应用程序进程时会依次调用三个方法,即onPause()、onStop(
)和onDestroy()。onPause()方法排在了最前面,由此可见Activity在失去焦点时就可能被销毁,而onStop(
)和onDestroy()方法就可能不会执行。所以大多数在onPause()方法中保存当前Activity状态,这样才能保证在任何
时候终止进程时都可以执行保存Activity状态的代码。任务技能技能点2 Intent介绍1 Intent简介Intent用于
封装程序的“调用意图”。两个Activity之间,一般把需要交换的数据封装成Bundle对象,然后将Bundle对象作为参数传入,
就可以实现两个Activity之间的数据交换。任务技能(1)Intent对象大致包括7大属性:ComponentName、 Act
ion 、 Category 、 Data 、Type、Extra、Flag。显式Intent是指定了ComponentName属
性的Intent即已经明确了它将要启动哪个组件,反之没有指定ComponentName属性的Intent被称为隐式Intent A
ction是标识符,当一个Activity需要和外部的Activity或者广播一起完成某个功能时候,就会发出一个Intent,在i
ntent-filter添加相应的Action。在SDK中定义了一系列标准动作,如表3.1所示任务技能任务技能Category代表
Intent的种类, Android上启动Activity可以用程序列表、桌面图标、点击Home激活桌面等多种方式,Catego
ry则用来标识这些Activity的图标会出现在哪些启动的上下文环境里Data保存需要传递的数据格式,比如:tel://Type主
要是为了对data的类型做进一步的说明,一般来说,设置 data属性为null,Type属性才有效,如果data属性不设置为nul
l,系统会自动根据data中的协议来分析data的数据类型 Extra用来保存过程中传递的数据通过设置Flag,可以设置Activ
ity是哪种启动模式任务技能(2)Intent有两种类型状态,分别为显式和隐式显式的Intent:一般这种Intent经常用在一个
应用中。需要知道要启动的组件名称,如某个 Activity的包名和类名,在Intent中明确的指定了这个组件(Activity)。
因为已经明确的知道要启动的组件名称,所以当创建一个显式Intent来启动一个Activity或者Service时,系统会立刻通过你
的Intent对象启动那个组件。任务技能隐式Intent:与显示Intent最大的区别是隐式Intent不知道要启动的组件名称,但
是知道 Intent动作要执行什么动作,比如需要拍照、录像、查看地图等。一般这种Intent用在不同的应用之间传递信息。当你创建一
个隐式Intent,需要在清单文件中指定intent-filter,系统会根据intent-filter找匹配的组件,如果你发送的
Intent匹配到一个intent-filter,系统会把你的Intent传递到对应的组件,并且启动它。如果找到多个匹配的inte
nt-filter对应的应用程序,则会弹出一个对话框,该对话框会让你选择哪个应用程序接收你的Intent。。任务技能 2 Inte
nt使用方法(1)启动一个Activity,具体实现方法如下所示(2)启动Service,具体实现方法如下所示。任务技能(3)启动
Broadcast,具体实现方法如下所示。任务技能3 Intent实现步骤(1)通过Intent可以调用并启动其它应用程序,如拨
打电话程序,具体实现方法如下所示。任务技能(2)使用电话功能需要在AndroidManifest.xml文件中添加资源权限方法,具
体实现方法如下所示。任务技能(3)Intent不仅能够调用应用程序,还能实现应用程序内部Activity跳转与数据的传递。在Mai
nActivity中实现向SecondaryActivity发送无请求的意图,具体实现方法如下所示。任务技能数据传递后需要在跳转A
ctivity中获取数据,具体实现方法如下所示。任务技能在MainActivity中实现向SecondaryActivity发送带
请求码的意图,具体实现方法如下所示。任务技能接收请求后再意图中填充返回内容并设置返回码,具体实现方法如下所示。任务技能(4)当Se
condaryActivity结束,程序将返回MainActivity界面。MainActivity中的onActivityRes
ult()方法将被回调,具体实现方法如下所示。任务实施第一步:在Eclipse中创建一个Android工程,命名为“欢迎系统”,并
设计界面。如图3.4-3.6所示。第二步:在src文件夹中下建立MainActivity.java文件和MenuActivity.
java文件,实现三秒后导航界面跳转到主界面。第三步:在src文件夹中下建立OtherActivity.java文件点击主界面“跳
转到音乐室”按钮,实现 跳转功能。第四步:运行程序,运行结果如图3.3-3.5所示。任务拓展【拓展目的】 熟悉并掌握界面跳转及In
tent传参等技巧【拓展内容】本任务将设计一款利用Intent传参跳转的“校园系统”软件。效果如图3.8、3.9所示。图3.8校园
系统主界面 图3.9 校园系统餐厅界面 【拓展步骤】1 设计思路:单击G
irdView单个条目后,可跳转到对应界面并将信息传递到该界面。2 在Eclipse中创建一个Android工程,命名为“校园
系统”,并设计界面。如图3.7 、3.8所示:在src文件夹中下建立MainActivity.java文件和GridVie
wAdpater.java文件,并实现GridView内容填充。具体如代码CORE0303所示。在src文件夹中下建立OtherE
xhibition.java文件,实现GirdView单击条目事件跳转到OtherExhibition界面并实现Intent传参,
根据传递的信息更改OtherExhibition界面。根据传递的信息更改OtherExhibition界面。任务拓展任务总结本项目
主要介绍了用Android实现Activity之间的跳转和页面信息传递的相关知识和技能,通过本项目的学习,使学生对页面跳转和传参有了更深的了解,并且能够熟练的使用Intent跳转传参。 ?英语角intent? 意图head? 头文件?text 文本color 颜色background 背景background-color 背景颜色select 选择linearLayout 线性布局relative 相对horizontal 水平的
献花(0)
+1
(本文系大高老师首藏)