安卓学习二:安卓四大组件简介

1、Activity---活动

        1、通常一个Actiity就是一个单独的屏幕(窗口)

        2、Activity之间通过Intent对象来通信

        3、Android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别

2、Service----服务

        1、用于后台完成用户的操作

        2、分为两种:一种是started(启动):当应用程序比如activity调用startService()方法启动服务时,服务处于started状态;另外一种bound(绑定),当应用程序组件调用bindService()方法时绑定到该服务,服务处于bound状态

        3、两者区别:当服务是started时,它的状态和启动它的组件无关;当服务时bound时,调用者和服务绑定到一起,会同时结束

3、ContentProvider---内容提供者

        1、用于一个程序的指定数据提供给其他应用程序,其他应用可以通过ContentResolver类从该内容提供者中获取或者存入数据

        2、一般不使用ContentProvider对象,大多是通过ContentResolver对象实现操作

        3、ContentProvider使用URI来唯一表示其数据集,这里的URI以contend://作为前缀,表示其数据由ContendProvider来管理

4、BroadcastReceiver---广播接收器

        1、使用它可以对外部事件进行过滤,只对感兴趣的外部事件进行接受并相应。

        2、没有用户界面,然而可以启动一个actiity或者service来相应他们接受到的信心,或者使用NotifacationManager来通知用户。例如闪动背光灯、震动、播放声音等

扫描二维码关注公众号,回复: 15258129 查看本文章

        3、广播接收器两种注册方法:

                动态注册:特点是用来注册的Activity关掉后,广播也就失效了

                静态注册:无需担忧广播接收器是否被关闭,只要设备时开启状态,广播接收器也是打开的

5、四大组件总结

        1、均需要注册后才能使用,都需要在AndroidManifest文件中进行配置

        2、内容提供者仅仅在ContentResolver提出请求时被激活;广播接收器仅在相应广播信息的时候被激活;活动可以调用finish()方法来关闭;服务对于startService()方法启动的服务要调用Context.stopService()方法关闭服务,使用bindService()启动的服务要调用Context.unbindService()方法关闭服务

        3、安卓的任务其实就是activity组成的栈,栈底时启动整个任务的Activity,栈顶时当前运行的可以交互的Activity,当一个活动启动另外一个活动的时候,新的activity就被压入栈,并成为当前运行的活动,而启动它的活动保存在栈中。当用户按下BACK键的时候,当前活动出栈,而前一个活动恢复为当前运行的活动。栈中保存的其实就是对象,栈中的活动用户不会重排,只会压入和弹出;

        4、安卓是一个多任务的操作系统,可以在听音乐的同时,执行其他任务。每执行多一个应用程序,就会耗费一些系统内容,当同时执行的程序过多,或者关闭的程序没有正确释放掉内存,系统就会越来愈慢,甚至不稳定,为了解决这个问题,Andriod引入了一个新的机制,即生命周期(Life Cycle)

猜你喜欢

转载自blog.csdn.net/qq_34689202/article/details/129678173
今日推荐