Android开发与应用
作者 : 马玉春 著
出版日期 : 2019-10-08
ISBN : 978-7-111-63700-4
适用人群 : 高校计算机及相关专业本科生、研究生,Android开发人
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 330
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书介绍了Android的常用技术,包括基本概念、架构、常用控件、编程方法,并通过大量的案例讲解具体的开发过程,使学生在工程实践过程中掌握Android的开发技术与方法。第一部分介绍Android编程基础与技巧。第二部分基于作者开发的软件项目整理出的实用案例,进行讲解和分析,涉及Android各个功能的应用。第三部分通过一个真实的综合实例讲解Android的项目开发过程。本书可以作为高校理工科相关专业学生的Android程序设计教材和相关实践课程的参考书。

图书特色

图书前言

Android是以Google为首的Open Handset Alliance(OHA,开放手机联盟)推出的一款开放的嵌入式操作系统平台,2007年11月推出Android SDK 1.0版,现已推出9.0版。Android应用越来越广泛,已经席卷整个智能手机产业和移动互联网行业,至2017年年底,其市场占有率已经达到85.9%。面对这种形势,软件从业者纷纷转向Android应用的开发。目前市场上有很多关于Android基础及技术的书籍,但是其中大部分主要讲解Android系统中各组件的使用及零散的应用技术,读完这些书读者难以掌握研发Android应用的关键和主流技术。
本书的主要内容
本书作者长期从事软件工程的科研与教学工作,获得国家软件著作权11项。本书是作者多年来从事Android应用研究和教学实践的结晶,并融入作者20年计算机监控系统的研发经验。本书首先从Android开发环境入手,介绍了常用组件与技术及Intent的综合应用,然后在此基础之上完成了6个实用案例,并详细分析了代码实现,最后介绍了一个远程温度监测实例,涉及数据处理技术、TCP客户机与服务器编程及温度监测的最终实现。各章内容具体安排如下所示。
第1章“开发环境搭建与应用入门”主要介绍了开发环境的搭建方法、工作空间与相关文件,并结合第一个应用程序详细介绍了程序的调试方法、项目的导入方法、调试设备的选择等。
第一部分(第2~4章)介绍编程基础与技巧,包括常用组件与技术及Intent的综合应用。第2章“常用开发组件”首先介绍了各组件通用的常见属性,然后分别介绍各组件的重要属性,通过实例从多角度展示组件事件的处理方法,并将框架布局知识融入其中。
第3章“常用技术”开始引入Library类库的概念,将常用技术和具有共性的代码放入类库中进行维护,以Sound类为例,所有进行情景模式操作的软件只需引用Library类库即可调用相关功能,对Sound类的改进只需在Library类库项目中进行,其他导入Sound类的项目无须更改代码,只需重新编译。该章依次介绍了Activity的生命周期、绘图方法、情景模式与音频播放、消息机制、多线程处理、定时功能、SQLite数据库、查询联系人、用户偏好和内部文件存取方法以及手机地图的开发方法,所有这些技术都通过详细实例进行讲解,并将通用技术融入Library类库中。
第4章“Intent的综合应用”首先介绍了Intent的基础知识,然后介绍了利用Intent打开Activity并传递数据、状态栏通知的实现及通过状态栏打开Activity,接着采用配置文件注册或软件注册的方法,从开机自动启动、来电、短信发送与接收等方面讲解广播接收器的应用,最后介绍了服务的基础知识、启动服务和绑定服务的实现,并介绍了使服务长期运行而不被系统杀死的方法。第3章与第4章的内容是本书的技术基础,也是Android应用研发的技术基础。
第二部分(第5~10章)为实用案例分析。第5章“课堂随机点名软件”结合3.8节的SQLite数据库技术,实现了多门课程多班级不重复点名;第6章“简易英语学习软件”利用Library类库中的文件存取类FileProcess和多线程文本读取类ThreadReadText,实现自行设置学习内容,既可以用来学习英语对话,也可以用来背单词;第7章“通讯录备份与恢复软件”在Library类库中创建了PhoneBook类,集成了通讯录的查找与更新功能,可以一键完成所有通讯录的备份,以及一键将备份全部恢复(合并)到通讯录。
第8章“服务账号登记软件”主要利用SQLite数据库技术与文本文件存取技术分类保存、检索各种账号,并将敏感数据加密保存到外部文件,以及从外部文件解密恢复到数据库中。第8章的列表选项采用了多种适配器并实现了拖曳技术。本章内容是前面基本技术的具体应用,并利用第11章的数据编码与处理技术对文本数据进行加密和解密。
第9章“地址定位及辅助服务软件”实现的是一个启动服务,结合3.12节的百度地图实现了手机定位功能,并利用第11章的编码技术将定位信息加密后发送到目标手机;利用4.5节的显示来电和接收短信技术,以及3.9节的查询联系人技术确保白名单来电响铃,还可实现开启“WiFi关闭”提醒,向目标手机发送余额不足信息。第10章的“地址查询与地图打点软件”向第9章的“地址定位及辅助服务软件”发送地址查询命令,利用第11章的编码技术将收到的地址信息解密后在百度地图上标注出来。
第三部分(第11~15章)为基于互联网的远程温度监测案例,包括数据处理、网络编程与具体实现三个主题。第11章“数据编码与处理技术”实现了字节(数组)、字符(串)和汉字等的相互转换及简单的编码功能,并实现了随机字节的生成与字节的位操作技术。第12章“数据包的校验技术”实现了多种校验码的计算和结尾码的处理,可通过一个函数为原始数据包添加校验码和结尾码,也可通过一个函数检验综合数据包是否正确并删除尾部的结尾码与校验码,留下有效数据。这两章内容广泛应用于数据传输与处理,也是计算机监控的核心技术。
第13章“通用TCP客户机与服务器测试软件”在Library类库中创建了通用网络处理类NetworkProcess及TCP客户机与服务器类TcpClientServer,密切结合第11章的数据编码技术及第12章的数据包校验技术,实现了通用TCP客户机和服务器测试软件,可以以字节或普通字符串收发和显示数据,根据要求添加校验码或结尾码并进行相关检验,还可测试客户机与服务器之间的时间间隔。
第14章“I-7013D模块仿真软件”(简称仿真模块)是第13章的通用TCP服务器测试软件的一个特例,它以手动、自动和锁定三种方式提供正弦波形式的温度数据,按照I-7013D协议的要求响应客户机的温度查询。
第15章“I-7013D模块监测软件”(简称监测软件)则是第13章的通用TCP客户机测试软件的一个特例,它根据测试出的时间间隔对仿真模块进行查询,并对所收到的温度数据以趋势线的形式实时显示。仿真模块与监测软件构成一个简单的以物联网为基础的计算机监控系统。
本书特色
共享类库:创建的Library类库项目包含数据库、TCP、通讯录等共享类。
经验丰富:将作者多年的研发经验列入书中,让读者少走弯路。
编排合理:先介绍基本概念与简单例程、常用技术,最后介绍工程应用。
作品实用:通用TCP客户机和服务器可直接应用于测试工程项目。
实践性强:将知识点融入实例,且解释详尽,通俗易懂,便于模仿与应用。
自定义数据库类:方便用户快速创建SQLite数据库软件,快捷检索和更新。
自定义TCP类:可以用来快速构建稳定可靠的TCP服务器或客户机应用。
完善的数据编码与数据包校验技术:可用于快速构建计算机监控系统。
本书的学习方法与约定
本书的每章(节)都有对应的源代码实例,而Library类库项目中包含通用核心共享类,首先按照1.4节介绍的方法将其导入并复制到工作空间,然后根据章节安排或需要导入相关的其他项目。阅读章节内容时,必须打开相应的例程,一边操作例程,一边学习书本知识。对于源代码讲解部分所涉及的变量或函数名,请通过快捷键【Ctrl+F】查找它们出现的位置,理解其含义。遇到有疑问的地方,则设置断点跟踪程序的运行,以弄清程序的逻辑。第5章及以后的实例都列有主要知识点,与第2~4章的编程基础和技巧相关,读者在学习综合案例前需要了解对应的主要知识点。本书面向编程人员,因而软件界面一般采用英文格式,Android SDK 中的子程序一般称为方法,本书创建的子程序一般称为函数,需要读者注意的关键代码用粗体加以强调。
致谢
本书得到海南省高等学校教育教学改革研究项目(批准号:Hnjg2018-57)、海南省高等学校科学研究项目(批准号:Hnky2019-57)及海南热带海洋学院2019年校级教材建设项目(批准号:RHYJC2019-03)的资助,在此表示衷心的感谢。
声明
本书中的所有应用程序或软件工具都由作者独立开发,已经或正在申报软件著作权,软件的使用仅限于购买了本书的读者本人或者已经取得作者或出版社授权的单位,未经许可不得以任何形式复制、传播。
由于学识有限,书中不足和疏漏之处在所难免,请读者不吝赐教,以便作者进一步完善(walker_ma@163.com)。

马玉春
2019年8月8日于三亚

上架指导

计算机\程序设计

封底文字

Android是一款开放式的嵌入式操作系统平台,目前已广泛应用于智能手机产业和移动互联网行业,从事Android应用开发的人员也越来越多。面对行业的人才需求,高校也相应地开设了Android的相关课程。本书结合作者多年来Android应用研究和教学实践编写而成,既对Android的技术框架进行了系统介绍,又涵盖丰富的实例,帮助读者掌握Android应用研发的关键技术和常用方法。

主要特点
内容上,首先介绍Android开发环境,包括常用组件与技术及Intent的综合应用,在此基础之上剖析了6个实用案例,并详细分析了代码实现。最后通过一个完整的远程温度监测案例,帮助读者综合应用相关知识。
书中有大量作者自己创建的共享类库、自定义数据库类和TCP类等,既方便读者使用,又能帮助理解相关的知识点。
注重工程性和实用性,将知识点融入实例的讲述方式便于读者理解和实践,并且书中一些案例可直接用于工程中,使读者体验真实的开发过程和结果。
为方便教学,本书提供丰富的教辅资源,需要的教师可登录华章网站下载。

图书目录

前言
第1章 开发环境搭建与应用入门1
1.1 搭建开发环境1
1.2 创建虚拟设备2
1.3 第一个应用程序3
1.4 工作空间与相关文件4
1.5 程序的调试方法8
1.6 本章小结10
第一部分 编程基础与技巧
第2章 常用开发组件12
2.1 常见属性12
2.2 EditText组件与菜单13
2.3 Button组件17
2.4 ToggleButton组件20
2.5 CheckBox组件22
2.6 RadioButton组件24
2.7 Spinner组件26
2.8 ListView组件29
2.9 Switch组件33
2.10 DatePicker组件36
2.11 AlertDialog组件37
2.12 本章小结45
第3章 常用技术46
3.1 进一步了解Activity46
3.2 绘图47
3.3 用静态库函数设置手机情景模式和音量51
3.4 播放音频55
3.5 利用消息机制处理后退键56
3.6 利用多线程和消息机制获取IP地址59
3.7 定时功能的实现62
3.8 SQLite与自定义ListView64
3.9 查询联系人74
3.10 使用SharedPreferences对象存储数据80
3.11 内部文本文件存取85
3.12 百度地图86
3.13 本章小结91
第4章 Intent的综合应用92
4.1 Intent的基础知识92
4.2 在Activity之间传递数据94
4.3 状态栏通知98
4.4 广播接收器与开机自动启动99
4.5 显示来电和接收短信101
4.6 带回执的短信发送105
4.7 服务的基础知识108
4.8 启动服务的实现110
4.9 绑定服务的实现115
4.10 本章小结117
第二部分 实用案例分析
第5章 课堂随机点名软件120
5.1 主要功能和技术特点120
5.2 软件操作120
5.3 界面布局与资源说明121
5.3.1 字符串定义文件121
5.3.2 菜单项定义文件121
5.3.3 颜色定义文件122
5.3.4 自定义对话框布局文件122
5.3.5 ListView列表布局文件123
5.3.6 版权窗体布局文件124
5.3.7 主窗体布局文件124
5.4 配置文件126
5.5 主窗体源代码127
5.6 本章小结135
第6章 简易英语学习软件136
6.1 主要功能和技术特点136
6.2 软件操作136
6.3 界面布局与资源说明137
6.3.1 适应多屏幕的dimens文件137
6.3.2 菜单项定义文件138
6.3.3 主窗体布局文件138
6.3.4 主题设置文件140
6.4 配置文件141
6.5 目录与文件处理类源代码141
6.6 文本读取类源代码142
6.7 主窗体源代码144
6.8 本章小结151
第7章 通讯录备份与恢复软件152
7.1 主要功能和技术特点152
7.2 软件操作152
7.3 界面布局153
7.4 配置文件153
7.5 通讯录操作源代码154
7.6 外部文本写入源代码156
7.7 主窗体源代码156
7.8 本章小结161
第8章 服务账号登记软件162
8.1 主要功能和技术特点162
8.2 软件操作163
8.3 配置文件164
8.4 登录窗体165
8.4.1 布局文件165
8.4.2 源代码167
8.5 服务浏览窗体172
8.5.1 适配器布局文件172
8.5.2 窗体布局文件173
8.5.3 适配器源代码174
8.5.4 窗体源代码177
8.6 单位浏览窗体185
8.6.1 适配器布局文件185
8.6.2 窗体布局文件186
8.6.3 拖放阴影源代码187
8.6.4 适配器源代码188
8.6.5 窗体源代码190
8.7 单位详细信息窗体199
8.7.1 适配器布局文件199
8.7.2 窗体布局文件200
8.7.3 适配器源代码201
8.7.4 窗体源代码202
8.8 单位搜索窗体207
8.8.1 布局文件207
8.8.2 源代码208
8.9 本章小结211
第9章 地址定位及辅助服务软件212
9.1 主要功能和技术特点212
9.2 软件操作212
9.3 配置文件213
9.4 广播接收器源代码215
9.4.1 启动完成215
9.4.2 来电处理216
9.4.3 情景模式改变217
9.4.4 屏幕状态变化217
9.4.5 短信接收218
9.4.6 WiFi设置变化221
9.5 服务源代码222
9.6 适配器源代码223
9.7 窗体源代码226
9.8 本章小结229
第10章 地址查询与地图打点软件230
10.1 主要功能和技术特点230
10.2 软件操作230
10.3 配置文件231
10.4 短信接收与处理源代码232
10.5 窗体源代码233
10.6 本章小结234
第三部分 基于互联网的远程温度监测案例
第11章 数据编码与处理技术236
11.1 十六进制字符串的预处理236
11.2 字节与两个十六进制字符相互转换237
11.3 字与十六进制字符串相互转换238
11.4 字节数组与十六进制字符串相互转换238
11.5 字节数组与ByteBuffer对象相互转换239
11.6 英文字符串的多种编码方法239
11.7 适用于汉字的Unicode编码240
11.8 随机字节的生成与数字至字节数组的转换243
11.9 字节的位操作技术243
11.10 本章小结244
第12章 数据包的校验技术245
12.1 枚举类型的定义与说明245
12.2 累加和校验码的生成与检验246
12.3 异或校验码的生成与检验247
12.4 循环冗余校验码的生成与检验249
12.5 累加求补校验码的生成与检验250
12.6 结尾码的处理252
12.7 数据包的综合处理254
12.8 应用实例257
12.9 本章小结257
第13章 通用TCP客户机与服务器测试软件258
13.1 主要功能和技术特点258
13.2 软件操作258
13.3 界面布局259
13.4 配置文件264
13.5 网络处理类265
13.6 通用TCP客户机与服务器类268
13.6.1 各种声明的说明268
13.6.2 构造函数269
13.6.3 获取Socket对象与多线程的启动269
13.6.4 数据接收与发送269
13.6.5 TcpClientServer源代码270
13.7 窗体源代码275
13.8 TCP服务器的关键代码286
13.9 本章小结286
第14章 I-7013D模块仿真软件287
14.1 主要功能和技术特点287
14.2 软件操作287
14.3 界面布局288
14.4 配置文件291
14.5 窗体源代码292
14.6 本章小结298
第15章 I-7013D模块监测软件299
15.1 主要功能和技术特点299
15.2 软件操作299
15.3 配置文件300
15.4 参数设置窗体301
15.4.1 界面布局302
15.4.2 源代码304
15.5 主窗体307
15.5.1 实时温度显示组件307
15.5.2 portrait布局309
15.5.3 landscape布局311
15.5.4 源代码311
15.6 对实物模块的监控320
15.7 本章小结321
参考文献322

教学资源推荐
作者: Brian W.Kernighan,Dennis M.Ritchie
作者: (美)Eric S.Roberts
作者: (美)Stuart Reges,Marty Stepp 著
作者: 邱李华 曹青 郭志强