《Android项目式程序设计》03 界面跳转和信息传递写字字帖_第1页
《Android项目式程序设计》03 界面跳转和信息传递写字字帖_第2页
《Android项目式程序设计》03 界面跳转和信息传递写字字帖_第3页
《Android项目式程序设计》03 界面跳转和信息传递写字字帖_第4页
《Android项目式程序设计》03 界面跳转和信息传递写字字帖_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目三界面跳转和信息传递学习目标掌握页面跳转的方法掌握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登录系统音乐室界面任务技能技能点1Activity介绍1Activity简介Acitvity是一个显示在屏幕上的用户交互界面,是用户可以见到的界面,进一步说,Activity的每个界面都是独立的,主要是用户体验不同的Android应用程序。应用除了可以访问自己的Activity,也可以访问其它APP的Activity,这一点会在下面的项目中讲到。任务技能2Activity生命周期Activity有生命周期,跟人的出生和死亡一样,Activity实例是由系统创建,并在不同状态期间回调不同的方法。一个最简单的完整的Activity生命周期会按照如下顺序回调:onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()。Android的生命周期如图3.7所示。任务技能图3.7Activity生命周期任务技能Activity生命周期里可以看出,系统在终止应用程序进程时会依次调用三个方法,即onPause()、onStop()和onDestroy()。onPause()方法排在了最前面,由此可见Activity在失去焦点时就可能被销毁,而onStop()和onDestroy()方法就可能不会执行。所以大多数在onPause()方法中保存当前Activity状态,这样才能保证在任何时候终止进程时都可以执行保存Activity状态的代码。任务技能技能点2Intent介绍1Intent简介Intent用于封装程序的“调用意图”。两个Activity之间,一般把需要交换的数据封装成Bundle对象,然后将Bundle对象作为参数传入,就可以实现两个Activity之间的数据交换。任务技能(1)Intent对象大致包括7大属性:ComponentName、Action、Category、Data、Type、Extra、Flag。显式Intent是指定了ComponentName属性的Intent即已经明确了它将要启动哪个组件,反之没有指定ComponentName属性的Intent被称为隐式IntentAction是标识符,当一个Activity需要和外部的Activity或者广播一起完成某个功能时候,就会发出一个Intent,在intent-filter添加相应的Action。在SDK中定义了一系列标准动作,如表3.1所示任务技能任务技能Category代表Intent的种类,Android上启动Activity可以用程序列表、桌面图标、点击Home激活桌面等多种方式,Category则用来标识这些Activity的图标会出现在哪些启动的上下文环境里Data保存需要传递的数据格式,比如:tel:///Type主要是为了对data的类型做进一步的说明,一般来说,设置data属性为null,Type属性才有效,如果data属性不设置为null,系统会自动根据data中的协议来分析data的数据类型

Extra用来保存过程中传递的数据通过设置Flag,可以设置Activity是哪种启动模式任务技能(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传递到对应的组件,并且启动它。如果找到多个匹配的intent-filter对应的应用程序,则会弹出一个对话框,该对话框会让你选择哪个应用程序接收你的Intent。。任务技能

2Intent使用方法(1)启动一个Activity,具体实现方法如下所示(2)启动Service,具体实现方法如下所示。任务技能(3)启动Broadcast,具体实现方法如下所示。任务技能3Intent实现步骤(1)通过Intent可以调用并启动其它应用程序,如拨打电话程序,具体实现方法如下所示。任务技能(2)使用电话功能需要在AndroidManifest.xml文件中添加资源权限方法,具体实现方法如下所示。任务技能(3)Intent不仅能够调用应用程序,还能实现应用程序内部Activity跳转与数据的传递。在MainActivity中实现向SecondaryActivity发送无请求的意图,具体实现方法如下所示。任务技能数据传递后需要在跳转Activity中获取数据,具体实现方法如下所示。任务技能在MainActivity中实现向SecondaryActivity发送带请求码的意图,具体实现方法如下所示。任务技能接收请求后再意图中填充返回内容并设置返回码,具体实现方法如下所示。任务技能(4)当SecondaryActivity结束,程序将返回MainActivity界面。MainActivity中的onActivityResult()方法将被回调,具体实现方法如下所示。任务实施第一步:在Eclipse中创建一个Android工程,命名为“欢迎系统”,并设计界面。如图3.4-3.6所示。第二步:在src文件夹中下建立MainActivity.java文件和MenuActivity.java文件,实现三秒后导航界面跳转到主界面。第三步:在src文件夹中下建立OtherActivity.java文件点击主界面“跳转到音乐室”按钮,实现跳转功能。第四步:运行程序,运行结果如图3.3-3.5所示。任务拓展【拓展目的】

熟悉并掌握界面跳转及Intent传参等技巧【拓展内容】本任务将设计一款利用Intent传参跳转的“校园系统”软件。效果如图3.8、3.9所示。图3.8校园系统主界面

图3.9校园系统餐厅界面【拓展步骤】1设计思路:单击GirdView单个条目后,可跳转到对应界面并将信息传递到该界面。2在Eclipse中创建一个Android工程,命名为“校园系统”,并设计界面。如图3.7、3.8所示:在src文件夹中下建立MainActivity.java文件和GridViewAdpater.java文件,并实现GridView内容填充。具体如代码CORE0303所示。在src文件夹中下建立OtherExhibition.java文件,实现GirdView单击条目事件跳转到OtherExhibition界面并实现Intent传参,根据传递的信息更改OtherExhibition界面。根据传递的信息更改OtherExhibition界面。任务拓展任务总结本项目主要介绍了用Android实现Activity之间的跳转和页面信息传递的相关知识和技能,通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论