收藏 分销(赏)

Android移动应用开发基础教程第2章.pptx

上传人:a199****6536 文档编号:8916027 上传时间:2025-03-07 格式:PPTX 页数:29 大小:2.05MB 下载积分:10 金币
下载 相关 举报
Android移动应用开发基础教程第2章.pptx_第1页
第1页 / 共29页
Android移动应用开发基础教程第2章.pptx_第2页
第2页 / 共29页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2018-4-22,#,Android,移动应用开发基础教程,讲授:,XXXXX,第,2,章,Android,核心组件,活动,本章主要内容:,活动,是什么,活动,的基本操作,在,活动中使用,Intent,在,活动之间传递数据,活动,的生命周期,活动,的启动模式,2.1,活动是什么,活动是,Android,的一个核心应用组件,它主要用于实现应用功能逻辑,并通过界面显示数据或接收用户输入。一个应用程序可以包含零个或多个活动。没有活动的应用程序,用户将无法看到程序界面,这种应用程序通常在后台运行,不涉及用户交互。,从用户的角度看,活动具有如下特点。,可通过返回键退出活动。,可通过,Home,键返回桌面。,可在活动中启动另个一个界面,此时按返回键返回前一个活动。,2.2,活动的基本操作,本节主要内容:,为活动绑定自定义,视图,启动,另一个,活动,结束,活动,2.2.1,为,活动绑定自定义视图,在,Android Studio,中,演示,2.2.1,为,活动绑定自定义视图,在,Android Studio,中,演示,2.2.3,结束,活动,在,Android Studio,中,演示,2.3,在活动中使用,Intent,Intent,是,Android,应用中的一种消息传递机制,通过,Intent,对象实现其他应用组件之间的通信。通常,,Intent,用于启动活动、启动服务以及发送广播。,Intent,可分为两种:显式,Intent,和隐式,Intent,本节主要内容:,显式,Intent,隐,式,Intent,Intent,过滤器,从,网页中启动活动,2.3.1,显,式,Intent,显式,Intent,指在创建,Intent,对象时,指定了要启动的特定组件,。,实例演示,2.3.2,隐,式,Intent,显式,Intent,指明了要启动的组件,隐式,Intent,则相反,它不指明要启动的组件,而是指明要执行的操作,让系统去选择可完成该操作的组件,。,启动同一个应用中的,活动,实例演示,启动,另,一,个应用中的,活动,实例演示,2.3.3 Intent,过滤器,Intent,过滤器主要用于声明应用组件可接收的,Intent,操作、数据和其他设置,。,在清单文件,AndroidManifest.xml,声明,Intent,过滤器时,可使用下面的,3,个元素:,元素,:在其,name,属性中声明组件可接受的,Intent,操作,操作名称可以是自定义的文本字符串或者,ndroid.intent.action,类的常量。,元素,:在其,name,属性中声明组件可接受的,Intent,类别,类别名称通常为,android.intent.category,类中的常量。如果要让活动响应隐式,Intent,,则必须将过滤器的类别设置为,android.intent.category.DEFAULT,。如果没有在,Intent,过滤器中声明,DEFAULT,类别,则隐式,Intent,不会解析该组件。,元素,:声明数据,URI,的,scheme,、,host,、,port,、,path,等,或者是数据的,MIME,类型,在代码中创建,Intent,对象时,可调用下列方法为,Intent,对象添加操作、类别、数据或其他属性:,setAction(),:设置,Intent,对象操作。也可在,Intent,对象构造函数中指定操作。,addCategory(),:为,Intent,对象添加类别。,setData(),:设置数据,URI,。,setType(),:设置,MIME,类型。,setDataAndType(),:,setData(),和,setType(),会相互抵消彼此的设置,要同时设置,URI,和,MIME,类型,则需调用,setDataAndType(),。,2.3.4,从,网页中启动活动,Android,允许在浏览器中启动活动。在,Intent,过滤器中包含,BROWSABLE,类别,即表示当前活动可从浏览器启动。,2.4,在活动之间传递数据,本节主要内容:,传递简单,数据,传递,Bundle,对象,传递对象,获取,活动返回的数据,2.4.1,传递,简单数据,简单数据指字符串、整数、浮点数等各种简单数据类型的数据,或者是这些简单数据类型的数据。,putExtra(name,value),方法可将指定的数据封装到,Intent,对象中。其中,,name,为表示数据名称的字符串,,value,为要传递的各种简单数据类型的值。,要获取,Intent,对象中封装的简单数据,可调用各种,get,XXX,Extra(),方法。,getCharExtra(String name,char defaultValue),:从,Intent,对象中获取指定,name,的,char,类型数据。,getFloatExtra(String name,float defaultValue),:从,Intent,对象中获取指定,name,的,float,类型数据。,getFloatArrayExtra(String name),:从,Intent,对象中获取指定,name,的,float,类型数组。,getIntArrayExtra(String name),:从,Intent,对象中获取指定,name,的,int,类型数组。,getIntExtra(String name,int defaultValue),:从,Intent,对象中获取指定,name,的,int,类型数据。,getStringArrayExtra(String name),:从,Intent,对象中获取指定,name,的,String,类型数组。,getStringExtra(String name),:从,Intent,对象中获取指定,name,的,String,类型数据。,2.4.2,传递,Bundle,对象,将各种简单数据封装到一个,Bundle,对象中,再将,Bundle,对象封装到,Intent,对象中传递给启动的活动。,Bundle,对象的各种,putXXX(String key,XXX value),方法,可将,XXX,类型的数据封装到其中,对应的用,getXXX(String key),方法从其中获取数据,。,Bundle,对象准备好之后,调用,putExtras(bundle),或,putExtra(name,bundle),方法将其封装到,Intent,对象中。要从,Intent,对象中获取,Bundle,对象时,调用对应的,getExtras(),或,getBundleExtra(),方法即可。,2.4.3,传递,对象,自定义的类对象,不能像简单数据一样直接封装到,Intent,对象中。,Android,系统要求封装到,Intent,对象中支持序列化,。,让,类实现,Java,内置的,Serializable,接口,或者实现,Android,提供的,Parcelable,接口,即可使类对象支持序列化,。,使用实现,Serializable,接口的类,对象,实例演示,使用实现,Parcelable,接口的类对象,实例演示,2.4.4,获取,活动返回的数据,要获得活动中返回的数据,则需要使用,startActivityForResult(intent,requestCode),方法来启动活动,。,其中,,参数,intent,是一个,Intent,对象,用于封装需要传递给活动的数据,。,参数,requestCode,为请求码,是一个整数,用来标识当前请求。一个活动可能会接收到其他不同活动的请求,从活动返回时,它会原样返回接收到的请求码,。,在,处理返回结果时,可通过请求码判断是不是从所请求的活动返回。,在当前活动中需重载,onActivityResult(),方法来处理返回结果,其代码基本结构如下:,protected void onActivityResult(int requestCode,int resultCode,Intent data),super.onActivityResult(requestCode,resultCode,data);,参数,requestCode,为从所请求的活动返回的它所接收到的请求码。,resultCode,为结果代码,常量,RESULT_CANCELED,表示用户取消了操作,,RESULT_OK,表示用户正确完成了操作。,data,为请求活动返回的,Intent,对象,从中可获取返回的数据。,在请求的活动中,用,setResult(resultCode,intent),方法设置返回结果,,resultCode,为结果代码,,intent,为封装了返回数据的,Intent,对象。,2.5,活动的生命周期,活动,的生命周期指活动从第一次创建到被销毁的整个时间。在一个生命周期内,活动可能存在多种状态。深入了解活动的生命周期,有助于更合理管理应用程序资源,设计出效率更高的应用。,本节主要内容:,返回栈、活动状态及生命周期回,调,检验,活动的生命周期,2.5.1,返回,栈、活动状态及生命周期回调,1,、返回栈,一个应用可能包含多个活动。,Android,系统使用堆栈(也称返回栈)来管理活动,。,返回栈遵循“先进后出”原则,。,2.5.2,检验,活动的生命周期,实例演示,2.6,活动的启动模式,活动,总是拥有特定的启动模式,启动模式决定了,Android,系统如何在任务的返回栈中管理活动的实例。活动的启动模式有,4,种:,standard,、,singleTop,、,singleTask,和,singleInstance,。可在清单文件使用,元素的,launchMode,属性来指定活动的启动模式。,本节主要内容:,standard,模式,singleTop,模式,singleTask,和,singleInstance,模式,2.6.1 standard,模式,standard,是活动的默认启动模式。在前面的所有内容中用到的活动,其启动模式都是,standard,。系统在启动,standard,模式的活动时,不会检查任务返回栈顶部中是否已经有该活动,总是创建一个新的活动实例,将其放到返回栈顶部。,2.6.2 singleTop,模式,如果活动是,singleTop,模式,在启动活动时,系统首先检查任务返回栈,若栈顶活动是相同活动的实例,则直接使用该活动,不会再创建新的实例。,2.6.3 singleTask,和,singleInstance,模式,singleTask,启动模式表示一个任务中只能存在活动的一个实例。在启动,singleTask,模式的活动时,系统如果发现任务返回栈中有该活动实例,则将该实例之上的所有活动出栈,使该实例成为栈顶活动。如果入伍返回栈中没有活动实例,则创建一个新的活动实例,将其放到栈顶。,与,singleTop,模式有点类似,但,singleInstance,启动模式表示活动只允许“设备”中存在活动的一个实例,在启动,singleInstance,模式的活动时,系统会为活动实例创建一个新的任务返回栈。设备中的所有应用可共享该活动实例。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服