注:大学生期末复习资料,并非专业,并不全面
目录
8.3 多选组件Check Box、单选组件RadioButton
1. Android的四层架构
Linux内核层(Linux Kernel)
函数库和系统运行层
应用框架层(Application Framework)
应用层(Applications)
2. 生命周期
程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android程序启动到停止的全过程
程序的生命周期由Android系统进行调度和控制的 Activity表现为四种状态
活动状态:Activity在用户界面中处于最上层,完全能不用户看到,能够与用户进行交互
暂停状态:Activity在界面上被部分遮挡,该Activity不再处于用户界面的最上层,且不能够与用户进行交互
停止状态:Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡 非活动状态:不在以上三种状态中的Activity则处于非活动状态
3. 四大组件
组件是可以调用的基本功能模块,Android应用程序就是由组件组成的
Android系统有四个重要的组件,分别是Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)和ContentProvider(内容提供器)
3.1 Activity
Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件
Android应用程序可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动
在界面上的表现形式:全屏窗体,非全屏悬浮窗体,对话框
3.2 Service
Service用于没有用户界面,但需要长时间在后台运行的应用。
启动方式分类:
startService stopService 启动服务 不进行通信(无法得到服务的信息)
Oncreate() onStartCommand() Service运行 stopService() onDestory()
一个服务可多次使用Start Service()但是只有第一次调用时会使用Oncreate()
bindService 绑定服务
启动服务并可以进行通信(Intent intent, ServiceConnection conn建立连接, int )
停止服务unbindService()
混合使用1、2
启动方式和终止方式,以及不同启动方式之间的区别
3.3 Content Provider内容提供者
Android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式,
其他应用可以通过ContentResolver类(见ContentProviderAccessApp例子)从该内容提供者中获取或存入数据.(相当于在应用外包了一层壳),
只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中
它的好处:统一数据访问方式。
3.4 BroadcastReceiver广播接收器
BroadcastReceiver是用来接受并响应广播消息的组件
Broadcast是一种在Android应用程序之间传输信息的机制。
不包含任何用户界面
可以通过启动Activity或者Notification通知用户接收到重要信息
Notification能够通过多种方法提示用户,包括闪动背景灯、震动设备、发出声音或在状态栏上放置一个持久的图标
你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。
在Android中,广播(broadcast)是非常有用的功能。通过广播可以通知其他广播接受这某个事件发生了。比如电源不足,信号不好等。
广播的种类
第一种:普通广播
通过 Context.sendBroadcast() 方法来发送。
是完全异步的。
如果未设置优先级 priority ,所有的receivers接收器的执行顺序不确定。
如果设置了优先级 priority ,则按优先级大小(越大越优先)接收广播。
这种方式效率更高。
但任一接收者都不能修改广播内容或终止广播的传递
第二种:有序广播
通过 Context.sendOrderedBroadcast 来发送。
如果未设置优先级,所有的receiver按照声明的先后顺序接收广播。
如果设置了优先级 priority ,则按照优先级从大到小排序。优先级相同的receiver其执行顺序不确定。
如果BroadcastReceiver是代码中注册,且其intent-filter拥有相同android:priority属性,先注册的将先收到广播。
先接收的Receiver可以终止或修改广播进行截断,使后面的Receiver不再接收到此广播,或者接收修改后的内容。
4. 日志工具类Log
5. 工程结构
- java:存放所有Java代码
- res:项目中的所有图片、布局、字符串等资源
- AndroidManifest.xml:整个项目的配置文件
- build:包含编译自动生成文件
- libs:项目中使用的第三方jar包
- androidTest:编写Android Test测试用例,进行自动化测试
- test 编写Unit Test测试用例
6. Intent(意图)
建立控件之间的桥梁
作用:
启动Activity、Service
传递数据(不是存储数据)</