Android系统服务开发
出版时间:
2015-02
版次:
1
ISBN:
9787115375544
定价:
139.00
装帧:
平装
开本:
16开
纸张:
胶版纸
页数:
411页
字数:
715千字
-
《Android系统服务开发》分析了安卓提供的硬件控制机制。编写团队目前均从事相关工作,直接对平台源代码及日志进行分析及测试,介绍了目前尚未普及的安卓平台的硬件控制基本原理及实际框架的操作。 与安卓刚出现时相比,安卓开发人员现在已有了大幅增长,人们也可轻松搜索到相关资料。但安卓开发仍然很有难度,每当版本升级时,结构变动都会使之前的代码无法重新使用。虽然需要深入掌握安卓平台,但开发人员的主要工作就是修复Bug,所以对实际情况往往“只见树木不见森林”。本书着眼点在于“开发人员如何改善开发流程”,这个问题的关键就是深入挖掘安卓的基本实现原理。 基本功扎实的开发人员可以主导顺应智能手机时代发展的“Smart”开发。通过本书可以掌握安卓平台的操作原理,并将其直接应用于开发业务。 金大佑,西江大学电子工程学士及硕士学位。大学时期沉迷于Linux,并创建了一个Linux社团。曾参与LG电子安卓项目,目前在瑞萨移动参与安卓LTE手机项目。虽然热衷于安卓开发,但目前仍在使用非智能手机。主要关注领域是安卓平台、SW设计以及ARM架构。希望有一天可以将创建开源项目作为个人爱好。
朴宰永,高丽大学无线电工程学士及硕士学位,进入LG电子后从事手机开发业务至今。尤其在10余年的开发过程中,从与硬件相关的BSP业务到UI业务,乃至批量生产相关业务均有所涉猎,积累了丰富经验。比较关注的领域是无线通信、移动平台、ARM架构、USIM、电源管理,今后想通过授课对社会做出贡献。
文炳元,曾在LG电子参与手机开发业务,目前在一家游戏公司负责数据分析。认为程序员的能力不仅在于了解丰富的知识,更在于能够找到解决问题的方法。现在仍然为了每天都有进步而不断付出努力。 第1 章 Android 系统服务开发 11.1 Android 系统服务开发简介 21.1.1 Android 的出现 21.1.2 移动设备的硬件结构 51.1.3 Android 硬件服务开发概要 111.1.4 本书的叙述方向 141.2 IPC 161.2.1 Android 的进程 161.2.2 进程的fork() 及exec() 函数 171.2.3 Linux 内核的IPC 191.2.4 Linux 管道 201.2.5 网络套接字 211.2.6 UNIX 套接字 271.3 I/O 多路复用 301.3.1 服务器端/ 客户端模型 301.3.2 使用select() 函数的I/O 多路复用 331.3.3 select() 函数示例 341.4 ITC 361.4.1 多线程 361.4.2 Android 的ITC 模型 391.4.3 消息 421.4.4 Looper 451.4.5 Handler 491.4.6 HandlerThread 541.5 守护进程服务分析 561.5.1 普通守护进程程序的结构 561.5.2 生成init 进程的守护进程服务 581.5.3 守护进程与多客户端间的通信 65第2 章 RIL 702.1 RIL 简介 712.1.1 RIL 简介 712.1.2 AP 与调制解调器间的相互作用 722.1.3 AP 与调制解调器间的通信:RIL 命令 732.2 RIL 结构 752.2.1 Android 通信栈 762.2.2 Android RIL 的调制解调器控制模型 772.3 RIL 守护进程的结构 782.3.1 RIL 守护进程的构成要素 792.3.2 RIL 事件 802.3.3 RIL 事件调度程序 812.4 RIL 守护进程初始化 872.4.1 守护进程的启动 872.4.2 RIL 守护进程初始化过程 902.4.3 动态加载Vendor RIL 库 912.4.4 生成RIL 事件调度程序 922.4.5 Vendor RIL 初始化 972.4.6 注册Vendor RIL 的Radio控制函数及生成I/O 事件专用套接字 1002.5 RIL 事件处理机制 1032.5.1 RIL 事件调度程序的运行原理 1032.5.2 RIL 事件处理回调函数 1102.5.3 RIL req 处理机制 1192.5.4 RIL resp 处理机制 1242.5.5 RIL ind 处理机制 129第3 章 通信框架 1363.1 通信框架概要 1373.1.1 通信框架的功能 1373.1.2 通信框架提供的服务 1393.2 通信框架的结构 1403.2.1 通信框架的分层构成要素 1403.2.2 PhoneApp 类 1423.2.3 PhoneProxy 类 1423.2.4 Phone 接口 1443.2.5 Radio 接口 1463.2.6 state tracker 类 1483.2.7 CallManager 类 1493.2.8 不同版本中通信框架的变化(1.5~4.2) 1513.3 通信框架的初始化 1523.3.1 Phone 应用程序的生成 1533.3.2 通信框架的初始化 1553.3.3 RILJava 的初始化 1603.4 通信框架的服务模型 1643.4.1 通信框架的服务结构 1643.4.2 通信框架的服务req/resp 处理机制 1653.4.3 通信框架的服务ind 处理机制 1723.5 RILJava 的RIL req 处理示例 1863.5.1 Phone 应用程序的通信框架API 调用 1873.5.2 调用RILJava 的Radio API 1893.5.3 生成RILJava 的RILRequest对象 1913.5.4 向RILSender 线程传送RILRequest 对象 1933.5.5 发送RILSender 线程的RIL req 1943.6 RILJava 的RIL resp 处理示例 1973.6.1 从RIL 守护进程接收RIL resp 1983.6.2 发送RILReceiver 线程的服务resp 消息 2003.6.3 处理客户端对象handler 的服务resp 消息 2023.7 RILJava 的RIL ind 处理示例 2033.7.1 注册Subscriber 对象的服务ind 2043.7.2 接收RILReceive 线程的RIL ind 2053.7.3 调用RILReceive 线程的notifyRegistrant() 方法 2063.7.4 处理Subscriber 对象handler的服务ind 消息 209第4 章 USIM 2114.1 USIM 简介 2124.1.1 智能卡的定义 2134.1.2 智能卡的启动过程 2134.1.3 使用APDU 的智能卡通信 2154.1.4 USIM 的由来 2154.1.5 USIM 的主要功能 2164.2 USIM 的数据结构及运行 2194.2.1 USIM 的数据结构 2194.2.2 USIM 的移动通信相关EF 2214.2.3 通过APDU 读取EF 的过程 2234.3 Android USIM 软件结构 2254.3.1 调制解调器 2254.3.2 RIL 2264.3.3 通信框架 2264.3.4 Android 应用程序 2294.4 Android USIM 初始化及运行 2304.4.1 UICC 初始化及UICC 相关对象的生成 2304.4.2 系统启动后调制解调器通电 2354.4.3 进入SIM_READY 状态 2404.4.4 查看USIM 状态及执行EF读取 2444.4.5 分析通信框架的EF 读取 2464.5 Android USAT 初始化及运行 2544.5.1 USAT 初始化 2544.5.2 通过Display Text 分析Proactive Command 2584.5.3 Android 的Proactive Command处理 263第5 章 Android 电源管理 2705.1 电源管理概述 2725.1.1 电功率 2735.1.2 了解电池 2735.1.3 默认电源状态 2745.1.4 Android 电源管理的作用 2755.2 Android 电源管理的结构 2765.2.1 Android 电源管理的层级结构 2775.2.2 Power Manager 2785.2.3 Power Manager Service 2795.2.4 本地空间 2805.2.5 内核空间 2825.2.6 Android 电源管理主要方法调用过程 2835.3 Power Manager Service 的初始化 2845.3.1 Power Manager Service 的类结构及方法 2855.3.2 生成并注册Power ManagerService 2865.3.3 Power Manager Service 初始化:init() 方法 2905.3.4 Power Manager Service 初始化:systemReady() 方法 3025.4 Power Manager Service 的主要操作 3045.4.1 Power Manager Service 状态 3045.4.2 决定Power Manager Service状态 3075.4.3 屏幕亮度时间的结构 3155.4.4 根据屏幕亮度时间控制屏幕亮度 3185.4.5 屏幕亮度转换的结构要素 3205.4.6 屏幕亮度转换操作 3215.4.7 Wake Lock 标记与标签 3285.4.8 生成Wake Lock 3305.4.9 获取Wake Lock 3345.4.10 解除Wake Lock 3445.5 间接应用电源管理服务 3445.5.1 Power Manager 类提供的方法 3455.5.2 Power Manager 类的实例化及获取 3455.5.3 获取Wake Lock:PARTIAL_WAKE_LOCK 3475.5.4 Wake Lock 获取示例:PARTIAL_WAKE_LOCK 3485.5.5 获取Wake Lock:屏幕亮度控制标记 3505.5.6 Wake Lock 获取示例:FULL_WAKE_LOCK 3525.5.7 获取Wake Lock:ACQUIRE_CAUSES_WAKEUP 3535.5.8 解除Wake Lock:PARTIAL_WAKE_LOCK 3575.5.9 解除Wake Lock:屏幕亮度控制标记 3585.5.10 解除Wake Lock:ON_AFTER_RELEASE 3605.6 直接应用Power Manager Service 3615.6.1 屏幕亮度设置 3625.6.2 Poke Lock 3635.7 不应用Power Manager Service的Wake Lock 364第6 章 Android 内核电源管理 3676.1 Linux 内核电源管理 3696.1.1 APM 与ACPI 3696.1.2 设备电源管理 3726.2 Android 内核电源管理 3726.2.1 Android 内核修订内容 3726.2.2 kobject 与sysfs 文件系统 3736.2.3 生成用于电源管理的sysfs文件 3766.3 电源管理初始化 3786.4 Early Suspend 3816.4.1 Early Suspend 结构体与注册 3826.4.2 Early Suspend 操作 3846.5 Wake Lock 3876.5.1 Wake Lock 结构 3876.5.2 生成Wake Lock 3896.5.3 激活Wake Lock 3906.5.4 禁用Wake Lock 3936.6 Suspend 3946.6.1 执行Suspend 3946.6.2 准备Suspend 3956.6.3 进入Suspend 3966.7 Resume 3996.7.1 Early Resume 4006.7.2 设备Resume 4016.7.3 Resume 完成 4026.8 Late Resume 4026.9 Surface Flinger 与内核之间的相互操作 4056.9.1 屏幕On(开)状态到Off(关)状态的转换 4066.9.2 屏幕Off(关)状态到On(开)状态的转换 409索引 412
-
内容简介:
《Android系统服务开发》分析了安卓提供的硬件控制机制。编写团队目前均从事相关工作,直接对平台源代码及日志进行分析及测试,介绍了目前尚未普及的安卓平台的硬件控制基本原理及实际框架的操作。 与安卓刚出现时相比,安卓开发人员现在已有了大幅增长,人们也可轻松搜索到相关资料。但安卓开发仍然很有难度,每当版本升级时,结构变动都会使之前的代码无法重新使用。虽然需要深入掌握安卓平台,但开发人员的主要工作就是修复Bug,所以对实际情况往往“只见树木不见森林”。本书着眼点在于“开发人员如何改善开发流程”,这个问题的关键就是深入挖掘安卓的基本实现原理。 基本功扎实的开发人员可以主导顺应智能手机时代发展的“Smart”开发。通过本书可以掌握安卓平台的操作原理,并将其直接应用于开发业务。
-
作者简介:
金大佑,西江大学电子工程学士及硕士学位。大学时期沉迷于Linux,并创建了一个Linux社团。曾参与LG电子安卓项目,目前在瑞萨移动参与安卓LTE手机项目。虽然热衷于安卓开发,但目前仍在使用非智能手机。主要关注领域是安卓平台、SW设计以及ARM架构。希望有一天可以将创建开源项目作为个人爱好。
朴宰永,高丽大学无线电工程学士及硕士学位,进入LG电子后从事手机开发业务至今。尤其在10余年的开发过程中,从与硬件相关的BSP业务到UI业务,乃至批量生产相关业务均有所涉猎,积累了丰富经验。比较关注的领域是无线通信、移动平台、ARM架构、USIM、电源管理,今后想通过授课对社会做出贡献。
文炳元,曾在LG电子参与手机开发业务,目前在一家游戏公司负责数据分析。认为程序员的能力不仅在于了解丰富的知识,更在于能够找到解决问题的方法。现在仍然为了每天都有进步而不断付出努力。
-
目录:
第1 章 Android 系统服务开发 11.1 Android 系统服务开发简介 21.1.1 Android 的出现 21.1.2 移动设备的硬件结构 51.1.3 Android 硬件服务开发概要 111.1.4 本书的叙述方向 141.2 IPC 161.2.1 Android 的进程 161.2.2 进程的fork() 及exec() 函数 171.2.3 Linux 内核的IPC 191.2.4 Linux 管道 201.2.5 网络套接字 211.2.6 UNIX 套接字 271.3 I/O 多路复用 301.3.1 服务器端/ 客户端模型 301.3.2 使用select() 函数的I/O 多路复用 331.3.3 select() 函数示例 341.4 ITC 361.4.1 多线程 361.4.2 Android 的ITC 模型 391.4.3 消息 421.4.4 Looper 451.4.5 Handler 491.4.6 HandlerThread 541.5 守护进程服务分析 561.5.1 普通守护进程程序的结构 561.5.2 生成init 进程的守护进程服务 581.5.3 守护进程与多客户端间的通信 65第2 章 RIL 702.1 RIL 简介 712.1.1 RIL 简介 712.1.2 AP 与调制解调器间的相互作用 722.1.3 AP 与调制解调器间的通信:RIL 命令 732.2 RIL 结构 752.2.1 Android 通信栈 762.2.2 Android RIL 的调制解调器控制模型 772.3 RIL 守护进程的结构 782.3.1 RIL 守护进程的构成要素 792.3.2 RIL 事件 802.3.3 RIL 事件调度程序 812.4 RIL 守护进程初始化 872.4.1 守护进程的启动 872.4.2 RIL 守护进程初始化过程 902.4.3 动态加载Vendor RIL 库 912.4.4 生成RIL 事件调度程序 922.4.5 Vendor RIL 初始化 972.4.6 注册Vendor RIL 的Radio控制函数及生成I/O 事件专用套接字 1002.5 RIL 事件处理机制 1032.5.1 RIL 事件调度程序的运行原理 1032.5.2 RIL 事件处理回调函数 1102.5.3 RIL req 处理机制 1192.5.4 RIL resp 处理机制 1242.5.5 RIL ind 处理机制 129第3 章 通信框架 1363.1 通信框架概要 1373.1.1 通信框架的功能 1373.1.2 通信框架提供的服务 1393.2 通信框架的结构 1403.2.1 通信框架的分层构成要素 1403.2.2 PhoneApp 类 1423.2.3 PhoneProxy 类 1423.2.4 Phone 接口 1443.2.5 Radio 接口 1463.2.6 state tracker 类 1483.2.7 CallManager 类 1493.2.8 不同版本中通信框架的变化(1.5~4.2) 1513.3 通信框架的初始化 1523.3.1 Phone 应用程序的生成 1533.3.2 通信框架的初始化 1553.3.3 RILJava 的初始化 1603.4 通信框架的服务模型 1643.4.1 通信框架的服务结构 1643.4.2 通信框架的服务req/resp 处理机制 1653.4.3 通信框架的服务ind 处理机制 1723.5 RILJava 的RIL req 处理示例 1863.5.1 Phone 应用程序的通信框架API 调用 1873.5.2 调用RILJava 的Radio API 1893.5.3 生成RILJava 的RILRequest对象 1913.5.4 向RILSender 线程传送RILRequest 对象 1933.5.5 发送RILSender 线程的RIL req 1943.6 RILJava 的RIL resp 处理示例 1973.6.1 从RIL 守护进程接收RIL resp 1983.6.2 发送RILReceiver 线程的服务resp 消息 2003.6.3 处理客户端对象handler 的服务resp 消息 2023.7 RILJava 的RIL ind 处理示例 2033.7.1 注册Subscriber 对象的服务ind 2043.7.2 接收RILReceive 线程的RIL ind 2053.7.3 调用RILReceive 线程的notifyRegistrant() 方法 2063.7.4 处理Subscriber 对象handler的服务ind 消息 209第4 章 USIM 2114.1 USIM 简介 2124.1.1 智能卡的定义 2134.1.2 智能卡的启动过程 2134.1.3 使用APDU 的智能卡通信 2154.1.4 USIM 的由来 2154.1.5 USIM 的主要功能 2164.2 USIM 的数据结构及运行 2194.2.1 USIM 的数据结构 2194.2.2 USIM 的移动通信相关EF 2214.2.3 通过APDU 读取EF 的过程 2234.3 Android USIM 软件结构 2254.3.1 调制解调器 2254.3.2 RIL 2264.3.3 通信框架 2264.3.4 Android 应用程序 2294.4 Android USIM 初始化及运行 2304.4.1 UICC 初始化及UICC 相关对象的生成 2304.4.2 系统启动后调制解调器通电 2354.4.3 进入SIM_READY 状态 2404.4.4 查看USIM 状态及执行EF读取 2444.4.5 分析通信框架的EF 读取 2464.5 Android USAT 初始化及运行 2544.5.1 USAT 初始化 2544.5.2 通过Display Text 分析Proactive Command 2584.5.3 Android 的Proactive Command处理 263第5 章 Android 电源管理 2705.1 电源管理概述 2725.1.1 电功率 2735.1.2 了解电池 2735.1.3 默认电源状态 2745.1.4 Android 电源管理的作用 2755.2 Android 电源管理的结构 2765.2.1 Android 电源管理的层级结构 2775.2.2 Power Manager 2785.2.3 Power Manager Service 2795.2.4 本地空间 2805.2.5 内核空间 2825.2.6 Android 电源管理主要方法调用过程 2835.3 Power Manager Service 的初始化 2845.3.1 Power Manager Service 的类结构及方法 2855.3.2 生成并注册Power ManagerService 2865.3.3 Power Manager Service 初始化:init() 方法 2905.3.4 Power Manager Service 初始化:systemReady() 方法 3025.4 Power Manager Service 的主要操作 3045.4.1 Power Manager Service 状态 3045.4.2 决定Power Manager Service状态 3075.4.3 屏幕亮度时间的结构 3155.4.4 根据屏幕亮度时间控制屏幕亮度 3185.4.5 屏幕亮度转换的结构要素 3205.4.6 屏幕亮度转换操作 3215.4.7 Wake Lock 标记与标签 3285.4.8 生成Wake Lock 3305.4.9 获取Wake Lock 3345.4.10 解除Wake Lock 3445.5 间接应用电源管理服务 3445.5.1 Power Manager 类提供的方法 3455.5.2 Power Manager 类的实例化及获取 3455.5.3 获取Wake Lock:PARTIAL_WAKE_LOCK 3475.5.4 Wake Lock 获取示例:PARTIAL_WAKE_LOCK 3485.5.5 获取Wake Lock:屏幕亮度控制标记 3505.5.6 Wake Lock 获取示例:FULL_WAKE_LOCK 3525.5.7 获取Wake Lock:ACQUIRE_CAUSES_WAKEUP 3535.5.8 解除Wake Lock:PARTIAL_WAKE_LOCK 3575.5.9 解除Wake Lock:屏幕亮度控制标记 3585.5.10 解除Wake Lock:ON_AFTER_RELEASE 3605.6 直接应用Power Manager Service 3615.6.1 屏幕亮度设置 3625.6.2 Poke Lock 3635.7 不应用Power Manager Service的Wake Lock 364第6 章 Android 内核电源管理 3676.1 Linux 内核电源管理 3696.1.1 APM 与ACPI 3696.1.2 设备电源管理 3726.2 Android 内核电源管理 3726.2.1 Android 内核修订内容 3726.2.2 kobject 与sysfs 文件系统 3736.2.3 生成用于电源管理的sysfs文件 3766.3 电源管理初始化 3786.4 Early Suspend 3816.4.1 Early Suspend 结构体与注册 3826.4.2 Early Suspend 操作 3846.5 Wake Lock 3876.5.1 Wake Lock 结构 3876.5.2 生成Wake Lock 3896.5.3 激活Wake Lock 3906.5.4 禁用Wake Lock 3936.6 Suspend 3946.6.1 执行Suspend 3946.6.2 准备Suspend 3956.6.3 进入Suspend 3966.7 Resume 3996.7.1 Early Resume 4006.7.2 设备Resume 4016.7.3 Resume 完成 4026.8 Late Resume 4026.9 Surface Flinger 与内核之间的相互操作 4056.9.1 屏幕On(开)状态到Off(关)状态的转换 4066.9.2 屏幕Off(关)状态到On(开)状态的转换 409索引 412
查看详情
-
八五品
广东省东莞市
平均发货6小时
成功完成率95.57%
-
九品
江西省南昌市
平均发货18小时
成功完成率80.72%
-
八五品
广东省深圳市
平均发货6小时
成功完成率96.63%
-
八五品
山东省泰安市
平均发货8小时
成功完成率92.95%
-
八五品
浙江省嘉兴市
平均发货10小时
成功完成率93.27%
-
九品
广东省深圳市
平均发货9小时
成功完成率84.72%
-
九品
北京市海淀区
平均发货17小时
成功完成率96.22%
-
八五品
河南省鹤壁市
平均发货5小时
成功完成率97.73%
-
2015-02 印刷
印次: 1
九品
北京市大兴区
平均发货10小时
成功完成率96.84%
-
八五品
北京市海淀区
平均发货6小时
成功完成率97.11%
-
九品
北京市昌平区
平均发货7小时
成功完成率86.12%
-
九品
山东省济南市
平均发货19小时
成功完成率94.41%
-
八五品
河南省鹤壁市
平均发货14小时
成功完成率87.58%
-
九品
天津市宝坻区
平均发货14小时
成功完成率96.16%
-
八五品
四川省成都市
平均发货8小时
成功完成率93.61%
-
八五品
重庆市沙坪坝区
平均发货8小时
成功完成率83.21%
-
八五品
重庆市沙坪坝区
平均发货9小时
成功完成率90.42%
-
八五品
重庆市沙坪坝区
平均发货8小时
成功完成率91.42%
-
八五品
北京市海淀区
平均发货8小时
成功完成率92.28%
-
九五品
上海市徐汇区
平均发货15小时
成功完成率91.64%
-
九品
浙江省宁波市
平均发货6天内
成功完成率61.54%
-
九五品
北京市通州区
平均发货30小时
成功完成率82.41%