Android 5从入门到精通
本书特色
[
android系统是目前*为流行的智能手机操作系统。为了帮助开发人员快速掌握 android开发技术,获取更好的就业机会,作者基于 android sdk 5.1(api level 22)编写了本书。
本书分为 14章,主要包括 android 5系统发展历史、系统架构、应用程序框架、界面开发、电话短信应用、多媒体开发、数据存储、网络编程、位置服务、绘图与计算、国际化、企业应用以及应用程序发布等内容。本书在讲解过程中穿插大量的实例,以帮助读者更好地理解 android开发方法和技巧,使读者进一步巩固所学的知识,提高综合实战能力。
本书适合 android移动应用开发初学者,也可以作为高等院校和培训学校相关专业的师生教学参考书。
]
目录
目 录第1章 android系统概述…………………………………………………………… 11.1 智能手机………………………………………………………………………………………. 11.1.1 什么是智能手机………………………………………………………………. 11.1.2 智能手机操作系统…………………………………………………………… 21.2 什么是android……………………………………………………………………………. 41.2.1 android的历史………………………………………………………………… 41.2.2 android的发展………………………………………………………………… 51.2.3 android的优点………………………………………………………………… 61.3 android系统架构………………………………………………………………………. 71.3.1 应用程序层(applications)………………………………………….. 81.3.2 应用程序框架层(application framework)………………….. 81.3.3 系统库(libraries)…………………………………………………………. 81.3.4 android运行环境(android runtime)…………………………. 91.3.5 linux内核(linux kernel)…………………………………………….. 91.4 android5新特性介绍……………………………………………………………………. 91.4.1 全新的material design设计………………………………………….. 101.4.2 支持64位art虚拟机……………………………………………………. 101.4.3 全新的通知设计…………………………………………………………….. 111.4.4 以大屏幕呈现…………………………………………………………………. 111.4.5 以文档为中心…………………………………………………………………. 121.4.6 改进连接性能…………………………………………………………………. 121.4.7 高性能图形…………………………………………………………………….. 121.4.8 功能更强的音频处理……………………………………………………… 131.4.9 进一步完善的摄像头和视频处理………………………………….. 141.4.10 配置文件………………………………………………………………………. 141.4.11 屏幕截图和共享…………………………………………………………… 151.4.12 新型传感器…………………………………………………………………… 151.4.13 chromium webview……………………………………………………… 151.4.14 辅助功能和输入…………………………………………………………… 161.4.15 可构建低电耗应用……………………………………………………….. 161.5 小结…………………………………………………………………………………………….. 161.6 思考题………………………………………………………………………………………… 17第2章 搭建android开发环境………………………………………………….. 182.1 系统需求…………………………………………………………………………………….. 182.2 软件安装…………………………………………………………………………………….. 182.2.1 jdk的安装…………………………………………………………………….. 182.2.2 android sdk………………………………………………………………….. 192.2.3 eclipse 和 adt……………………………………………………………… 202.2.4 创建avd……………………………………………………………………….. 242.2.5 avd与真机的区别………………………………………………………… 242.3 android sdk介绍……………………………………………………………………… 252.3.1 android sdk目录结构………………………………………………….. 252.3.2 android.jar……………………………………………………………………… 272.3.3 android api核心包……………………………………………………….. 272.3.4 android api扩展包……………………………………………………….. 282.4 创建**个android应用程序………………………………………………….. 282.4.1 创建helloandroid工程…………………………………………………. 282.4.2 编写代码………………………………………………………………………… 292.4.3 运行应用程序…………………………………………………………………. 302.4.4 工程文件结构解析…………………………………………………………. 312.5 调试程序…………………………………………………………………………………….. 322.5.1 设置断点………………………………………………………………………… 322.5.2 调试………………………………………………………………………………… 332.6 小结…………………………………………………………………………………………….. 342.7 思考题………………………………………………………………………………………… 34第3章 android应用程序结构…………………………………………………… 353.1 应用程序基本组成……………………………………………………………………… 353.1.1 activity…………………………………………………………………………… 353.1.2 service…………………………………………………………………………….. 353.1.3 broadcastreceiver………………………………………………………….. 363.1.4 contentprovider……………………………………………………………… 363.1.5 intent………………………………………………………………………………. 363.2 activity……………………………………………………………………………………….. 363.2.1 activity的生命周期………………………………………………………. 373.2.2 activity的创建………………………………………………………………. 393.2.3 启动activity………………………………………………………………….. 403.2.4 关闭activity………………………………………………………………….. 413.2.5 activity数据传递…………………………………………………………… 413.3 资源…………………………………………………………………………………………….. 433.4 manifest文件……………………………………………………………………………… 433.5 app widgets………………………………………………………………………………. 463.5.1 基础知识………………………………………………………………………… 463.5.2 在manifest文件中声明app widget……………………………. 473.5.3 增加appwidgetproviderinfo元数据……………………………. 473.5.4 创建app widget布局…………………………………………………… 483.5.5 为app widget添加边界……………………………………………….. 493.5.6 使用appwidgetprovider类………………………………………….. 493.5.7 接收app widget的广播……………………………………………….. 513.5.8 创建app widget的配置activity…………………………………. 513.5.9 使用配置activity对app widget进行更新…………………. 523.6 进程和线程…………………………………………………………………………………. 533.6.1 进程(processes)………………………………………………………… 533.6.2 线程(threads)……………………………………………………………. 553.6.3 线程安全方法…………………………………………………………………. 583.6.4 进程间的通信…………………………………………………………………. 583.7 小结…………………………………………………………………………………………….. 593.8 思考题………………………………………………………………………………………… 59第4章 android gui开发…………………………………………………………. 604.1 view和viewgroup……………………………………………………………………… 604.2 使用xml定义视图…………………………………………………………………… 614.3 布局…………………………………………………………………………………………….. 644.3.1 framelayout…………………………………………………………………… 654.3.2 linearlayout…………………………………………………………………… 674.3.3 relativelayout………………………………………………………………… 704.3.4 tablelayout……………………………………………………………………. 724.3.5 absolutelayout……………………………………………………………… 744.3.6 webview………………………………………………………………………… 764.4 常用widget组件……………………………………………………………………….. 784.4.1 创建widget组件实例…………………………………………………… 784.4.2 按钮(button)……………………………………………………………… 804.4.3 文本框(textview)………………………………………………………. 824.4.4 编辑框(edittext)……………………………………………………….. 834.4.5 多项选择按钮(checkbox)…………………………………………. 854.4.6 单项选择按钮组(radiogroup)………………………………….. 894.4.7 下拉列表(spinner)…………………………………………………….. 924.4.8 自动完成文本(autocompletetextview)……………………. 964.4.9 日期选择器和时间选择器(datepicker和timepicker). 994.4.10 进度条(progressbar)……………………………………………… 1034.4.11 滚动视图(scrollview)…………………………………………….. 1054.4.12 拖动条(seekbar)…………………………………………………….. 1074.4.13 评价条(ratingbar)…………………………………………………. 1094.4.14 图片视图(imageview)和图片按钮(imagebutton) 1124.4.15 图片切换器imageswitcher和图库gallery…………………. 1154.4.16 网格视图(gridview)……………………………………………….. 1204.4.17 标签(tab)………………………………………………………………. 1234.5 menu和actionbar…………………………………………………………………. 1274.5.1 options menu……………………………………………………………….. 1274.5.2 context menu……………………………………………………………….. 1324.5.3 submenu………………………………………………………………………. 1334.6 bitmap……………………………………………………………………………………….. 1364.7 对话框(dialog)…………………………………………………………………….. 1384.7.1 alertdialog……………………………………………………………………. 1394.7.2 progressdialog……………………………………………………………… 1424.8 toast和notification…………………………………………………………………. 1434.8.1 toast…………………………………………………………………………….. 1434.8.2 notification……………………………………………………………………. 1454.9 界面事件响应…………………………………………………………………………… 1484.9.1 事件监听器…………………………………………………………………… 1484.9.2 回调事件响应……………………………………………………………….. 1494.9.3 界面事件响应实例……………………………………………………….. 1504.10 小结…………………………………………………………………………………………. 1544.11 思考题…………………………………………………………………………………….. 154第5章 电话和短信应用程序开发…………………………………………….. 1555.1 intent……………………………………………………………………………………….. 1555.1.1 显式intent和隐式intent……………………………………………… 1575.1.2 intentfilter…………………………………………………………………….. 1575.2 拨号程序…………………………………………………………………………………… 1585.3 短信程序…………………………………………………………………………………… 1615.3.1 sms简介……………………………………………………………………… 1615.3.2 接收短信………………………………………………………………………. 1625.3.3 接收短信实例……………………………………………………………….. 1625.3.4 发送短信………………………………………………………………………. 1655.3.5 短信发送实例……………………………………………………………….. 1655.4 照相机程序……………………………………………………………………………….. 1695.5 小结…………………………………………………………………………………………… 1725.6 思考题………………………………………………………………………………………. 172第6章 多媒体开发……………………………………………………………….. 1736.1 service………………………………………………………………………………………. 1736.1.1 service的作用………………………………………………………………. 1736.1.2 service的生命周期………………………………………………………. 1736.1.3 启动service………………………………………………………………….. 1736.2 broadcastreceiver…………………………………………………………………….. 1756.3 音频…………………………………………………………………………………………… 1786.3.1 android4.0支持的音频格式…………………………………………. 1796.3.2 音频播放器…………………………………………………………………… 1796.3.3 后台播放音频……………………………………………………………….. 1846.3.4 录音程序………………………………………………………………………. 1876.3.5 后台录制音频……………………………………………………………….. 1946.4 视频…………………………………………………………………………………………… 1976.4.1 android4.0 支持的视频文件……………………………………….. 1976.4.2 视频播放器…………………………………………………………………… 1976.4.3 拍照程序………………………………………………………………………. 2056.4.4 录制视频………………………………………………………………………. 2136.5 小结…………………………………………………………………………………………… 2226.6 思考题………………………………………………………………………………………. 222第7章 数据存储…………………………………………………………………… 2237.1 sharedpreferences…………………………………………………………………….. 2237.1.1 sharedpreferences简介………………………………………………… 2237.1.2 使用sharedpreferences………………………………………………… 2247.2 文件存储…………………………………………………………………………………… 2277.2.1 文件存储方式简介……………………………………………………….. 2277.2.2 使用文件存储功能……………………………………………………….. 2297.3 sqlite……………………………………………………………………………………….. 2327.3.1 sqlite数据库简介……………………………………………………….. 2327.3.2 sqlite数据库操作……………………………………………………….. 2347.3.3 sqlite数据库操作实例……………………………………………….. 2367.4 contentprovider………………………………………………………………………… 2467.4.1 contentprovider简介……………………………………………………. 2467.4.2 urimatcher……………………………………………………………………. 2497.4.3 访问系统提供的contentprovider………………………………… 2497.4.4 自定义contentprovider……………………………………………….. 2537.4.5 访问自定义contentprovider………………………………………… 2587.5 数据同步到云端……………………………………………………………………….. 2647.5.1 app engine简介…………………………………………………………… 2647.5.2 创建可相互通信的android和app engine应用程序… 2657.6 数据备份与恢复……………………………………………………………………….. 2727.6.1 android数据备份与恢复简介……………………………………… 2727.6.2 实现备份代理的步骤……………………………………………………. 2737.6.3 通过backupagent实现备份与恢复……………………………. 2747.6.4 通过backupagenthelper实现备份与恢复…………………. 2797.7 小结…………………………………………………………………………………………… 2827.8 思考题………………………………………………………………………………………. 283第8章 网络编程…………………………………………………………………… 2848.1 http通信………………………………………………………………………………… 2848.1.1 访问url指定资源………………………………………………………. 2888.1.2 使用get方式获取网络服务……………………………………….. 2928.1.3 使用post方式获取网络服务…………………………………….. 2968.2 socket通信……………………………………………………………………………….. 2998.2.1 socket简介…………………………………………………………………… 3008.2.2 socket使用方法…………………………………………………………… 3008.2.3 socket编程实例…………………………………………………………… 3028.3 bluetooth通信………………………………………………………………………….. 3068.3.1 bluetooth简介……………………………………………………………… 3068.3.2 android系统的蓝牙通信功能……………………………………… 3078.3.3 蓝牙通信实例……………………………………………………………….. 3128.4 wifi通信…………………………………………………………………………………. 3328.4.1 wifi简介……………………………………………………………………… 3328.4.2 wifi实例……………………………………………………………………… 3338.4.3 wifi direct……………………………………………………………………. 3398.4.4 创建wifi direct应用程序的步骤……………………………….. 3418.4.5 wifi direct编程实例…………………………………………………… 3468.5 nfc…………………………………………………………………………………………… 3618.5.1 nfc简介………………………………………………………………………. 3618.5.2 android nfc技术………………………………………………………… 3628.5.3 使用前台发布系统……………………………………………………….. 3648.6 usb…………………………………………………………………………………………… 3668.6.1 usb简介………………………………………………………………………. 3668.6.2 usb附件………………………………………………………………………. 3678.6.3 usb主机………………………………………………………………………. 3738.7 sip…………………………………………………………………………………………….. 3788.7.1 sip简介………………………………………………………………………… 3788.7.2 相关api……………………………………………………………………….. 3798.7.3 manifest文件配置……………………………………………………….. 3798.7.4 创建sipmanager对象………………………………………………….. 3808.7.5 注册sip服务器……………………………………………………………. 3808.7.6 拨打音频电话……………………………………………………………….. 3828.7.7 接收呼叫………………………………………………………………………. 3838.8 小结…………………………………………………………………………………………… 3858.9 思考题………………………………………………………………………………………. 385第9章 智能传感器……………………………………………………………….. 3869.1 获取位置信息…………………………………………………………………………… 3869.1.1 locationmanager介绍…………………………………………………. 3879.1.2 locationprovider介绍………………………………………………….. 3879.1.3 使用gps获取当前位置信息……………………………………….. 3899.2 使用google地图服务………………………………………………………………. 3939.2.1 google map api简介…………………………………………………… 3939.2.2 申请android map api key…………………………………………. 3949.2.3 使用google map显示当前位置………………………………….. 3969.3 传感器………………………………………………………………………………………. 4029.3.1 android传感器简介…………………………………………………….. 4029.3.2 标识传感器…………………………………………………………………… 4049.3.3 传感器事件处理…………………………………………………………… 4059.4 运动传感器……………………………………………………………………………….. 4069.4.1 加速度传感器……………………………………………………………….. 4079.4.2 重力传感器…………………………………………………………………… 4079.4.3 陀螺仪…………………………………………………………………………… 4079.4.4 线性加速传感器…………………………………………………………… 4099.4.5 旋转向量传感器…………………………………………………………… 4099.5 位置传感器……………………………………………………………………………….. 4099.5.1 磁场传感器…………………………………………………………………… 4109.5.2 方位传感器…………………………………………………………………… 4109.5.3 距离传感器…………………………………………………………………… 4119.6 环境传感器……………………………………………………………………………….. 4129.7 小结…………………………………………………………………………………………… 4149.8 思考题………………………………………………………………………………………. 414第10章 绘 图……………………………………………………………………. 41510.1 2d绘图……………………………………………………………………………………. 41510.1.1 获取canvas对象……………………………………………………….. 41510.1.2 使用自定义view绘图………………………………………………… 41610.1.3 使用bitmap绘图………………………………………………………… 41910.1.4 使用surfaceview绘制静态图像………………………………… 42210.1.5 使用surfaceview绘制动态图像………………………………… 42510.2 drawable………………………………………………………………………………….. 43110.2.1 从资源文件中创建drawable对象……………………………… 43110.2.2 从xml文件中创建drawable对象…………………………… 43110.2.3 使用构造方法创建drawable对象……………………………… 43210.3 3d绘图……………………………………………………………………………………. 43310.3.1 opengl es简介………………………………………………………….. 43310.3.2 绘制3d图像实例………………………………………………………… 43310.4 硬件加速…………………………………………………………………………………. 43810.4.1 启用硬件加速……………………………………………………………… 43810.4.2 android绘图模型………………………………………………………. 43910.5 renderscript……………………………………………………………………………. 44010.5.1 renderscript综述……………………………………………………….. 44110.5.2 使用动态分配的内存………………………………………………….. 44210.5.3 使用静态分配的内存………………………………………………….. 44510.6 小结…………………………………………………………………………………………. 44810.7 思考题…………………………………………………………………………………….. 448第11章 app的本地化………………………………………………………….. 44911.1 国际化与本地化……………………………………………………………………… 44911.2 手机区域设置…………………………………………………………………………. 44911.3 未本地化的应用程序……………………………………………………………… 45111.4 本地化的应用程序………………………………………………………………….. 45511.5 小结…………………………………………………………………………………………. 46111.6 思考题…………………………………………………………………………………….. 461第12章 文本与输入……………………………………………………………… 46212.1 剪贴板框架(clipboard framework)……………………………………. 46212.2 剪贴板类(clipboard classes)…………………………………………….. 46312.3 将剪贴板内数据强制转换为文本…………………………………………… 46412.4 复制到剪贴板…………………………………………………………………………. 46612.5 从剪贴板中粘贴……………………………………………………………………… 46712.6 利用content provider复制复杂数据…………………………………….. 47112.7 设计有效的复制/粘贴功能…………………………………………………….. 47612.8 综合实例…………………………………………………………………………………. 47712.9 小结…………………………………………………………………………………………. 487第13章 企业应用开发…………………………………………………………… 48813.1 设备管理api概述…………………………………………………………………. 48813.1.1 设备管理工作过程……………………………………………………… 48813.1.2 设备管理策略……………………………………………………………… 48913.2 开发设备管理api应用………………………………………………………….. 49013.2.1 创建程序代码……………………………………………………………… 49113.2.2 deviceadminreceiver的子类…………………………………….. 49313.2.3 启用程序…………………………………………………………………….. 49413.2.4 管理策略…………………………………………………………………….. 49613.3 文本语音api………………………………………………………………………….. 50013.4 tv应用…………………………………………………………………………………… 50413.4.1 创建电视应用项目(tv project)……………………………… 50413.4.2 添加tv支持库…………………………………………………………… 50613.4.3 建立tv应用………………………………………………………………. 50713.4.4 运行tv应用………………………………………………………………. 50713.4.5 tv应用实例……………………………………………………………….. 50913.5 可穿戴设备应用……………………………………………………………………… 51413.5.1 可穿戴设备应用简介………………………………………………….. 51413.5.2 android wear项目搭建……………………………………………… 51413.6 小结…………………………………………………………………………………………. 519第14章 应用程序发布…………………………………………………………… 52014.1 应用程序发布的步骤……………………………………………………………… 52014.2 为什么要为应用程序签名………………………………………………………. 52114.3 android的签名策略……………………………………………………………….. 52214.4 导出未签名应用程序……………………………………………………………… 52314.5 生成签名文件…………………………………………………………………………. 52414.5.1 使用adt插件…………………………………………………………… 52414.5.2 使用keytool工具……………………………………………………….. 52514.6 为应用程序签名……………………………………………………………………… 52714.6.1 使用adt插件…………………………………………………………… 52714.6.2 使用jarsigner工具……………………………………………………… 52914.7 使用zipalign工具优化应用程序……………………………………………. 53014.8 发布到google play store………………………………………………………… 53114.9 小结…………………………………………………………………………………………. 53214.10 思考题…………………………………………………………………………………………. 532
封面
书名:Android 5从入门到精通
作者:李波
页数:532
定价:¥89.0
出版社:清华大学出版社
出版日期:2016-04-01
ISBN:9787302432661
PDF电子书大小:144MB 高清扫描完整版
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!