网站首页 网站导航 课程中心
新闻中心
您所在的位置:Android培训 > 新闻中心 > 【Android培训】Andriod 的四大组件及其作用

【Android培训】Andriod 的四大组件及其作用

来源:中软卓越 日期:2018-04-27 16:17 人气:
标签:
中软国际教育集团Python+大数据课程入驻大武汉啦!!!
     Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。
 
1.活动
 
       Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,activity可以算是开发者遇到的最频繁,也是android当中最基本的模块之一。在android的程序中,activity一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么activity就相当于一个网页。在activity当中可以添加一些Button、Checkbox等控件,可以看到activity概念和网页的概念相当类似。
 
       一般一个android应用是由多个activity组成的,这多个activity之间可以进行相互跳转。例如,按下一个Button按钮后,可能会跳转到其他的activity,与网页跳转稍微有点不一样的是,activity之间的跳转有可能返回值。例如,从activity A跳转到activity B,那么当activity B运行结束时,有可能会给activity A一个返回值。这样做在很多时候是相当方便的。
 
       当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。用户可以通过回退操作返回到以前打开过的屏幕。可以选择性的一处一些没有必要保留的屏幕,因为Android会把每个应用的开始到当前的每个屏幕保存在堆栈中。
 
2.服务
 
       Service是android系统中的一种组件,跟activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service是没有界面长生命周期的代码。Service是一种程序,可以运行很长时间的,但是却没有用户界面。这么说有点枯燥,来看个例子。打开一个音乐播放器的程序,这时如果想上网,那么打开Android浏览器,这时虽然已经进入浏览器这个程序,但是歌曲播放并没有停止,而是在后台继续一首接一首的播放,其实这个播放就是由播放音乐的Service进行控制。当然这个播放音乐的Service也可以停止。例如,当播放列表里的歌曲都结束,或用户按下了停止音乐播放的快捷键等。Service可以在很多场合的应用中使用,如播放多媒体时用户启动了其他Activity,这时程序要在后台继续播放,比如检测SD卡上文件的变化,或在后台记录地理信息位置的改变等,而服务却藏在后台。
 
开启Service有两种方式:
 
(1)Context.starService():Service会经历onCreat  ——>onStar(如果Service还没有运行,则Android先调用onCreat(),然后调用onStar(),所以一个Service的onStar方能会重复调用多次);如果是调用者自己直接退出而没有调用StopService,服务会一直在后台运行。该服务的调用者再启动起来后可以通过stopService关闭服务。注意,多次调用Context.starService()不会被嵌套(即使会有相应的onStar()方法被调用),所以无论同一个服务被启动多少次,一旦调用Context.stopService()或者StopSelf(),都会被停止。
 
说明:传递给starService()的Intent对象会传递给onStar()方法。调用顺序为onCreat——onStar(可调用多次)——onDestroy.
 
(2)Context.bindService():服务会经历onCreate()——onBind(),onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到服务运行的状态或其他操作。这个时候把调用者(Context,如Activity)会和服务绑定在一起,Context退出了,服务就会调用onUnbind——onDestroy相应退出,所谓绑定在一起就是“共存亡”了。
 
3.广播接收器
 
       在Android中,广播是一种广泛运用的在应用程序之间传输信息的机制。而广播接收器是对发送出来的广播进行过滤接受并响应的一类组件。可以使用广播接收器来让应用对一个外部时间做出响应。例如,当电话呼入这个外部事件到来时,可以利用广播接收器进行处理。当下载一个程序成功完成时,仍然可以利用广播接收器进行处理。广播接收器不NotificationManager来通知用户这些事情发生了。广播接收器既可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceive()进行注册。只要是注册了,当事件来临时,即使程序没有启动,系统也在需要的时候启动程序。各种应用还可以通过使用Context.sendBroadcast()将它们自己的Intent广播给其他应用程序。
 
4.内容提供者
 
       内容提供者(Content Provider)是Android提供的第三方应用数据的访问方案。
 
       在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件等内容,都是不允许其他直接访问的。Android当然不会真的把每一个应用都做成一座“孤岛”,它为所有应用都准备可一扇窗,这就是Content Provider。应用想对外提供的数据,可以通过派生Content Provider类,封装成一枚Content Provider。每个Content Provider都用一个uri作为独立的标识,形如:content://com.xxxxx。所有应用看着像REST的样子,但实际上它比REST更为灵活。和REST类似,uri也可以有两种类型,一种是带id的;另一种是列表的,但实现者不需要按照这个模式来做,给id的uri也可以返回列表类型的数据。

 

中软卓越是中软国际有限公司投资的大型人才服务机构,是中软国际人才战略的核心组成部分之一,承担集团发展过程中人才储备和培养的任务,是软件及外包业务快速发展的重要人才支撑平台,是集团保持高速增长动力之一。

中软国际教育集团专注IT教育36年,一直秉承“用良心做教育”的理念,是中国移动互联网研发人才一体化服务的开拓者,全力打造移动互联网研发人才服务优质平台。

公司总部位于武汉,目前已在深圳、上海、郑州、广州、大连、武汉、成都、西安、杭州、重庆、长沙、合肥、无锡、南宁、厦门、南京、南昌等全国22个省成立了60多家分公司。拥有全国的移动互联网教学就业保障团队,做到了毕业学员业内高薪水,成为学员信赖的IT培训机构。

营业执照 版权所有©Copyright 2008-2017,武汉中软卓越科技有限公司 , All Rights Reserved. ICP备案号:15018648号-1

sitemap | 来校路线 | 分类导航 | 关于我们