描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121276804
本书详细介绍了Android Studio和Eclipse ADT两种不同开发环境搭建(针对Google网站不易访问);对Android客户端程序架构、实现消息推送、即时通信、服务器端json接口编程(Restful API)、在手机客户端解析json、网络多图片异步下载、移动应用数据统计分析等移动互联网重要开发技术进行了较为细致的讲解。配套教学资源丰富,包含所有章节的PPT、程序源码、习题解答、教学视频、所需软件工具及一个帮助学习本书的手机APP。
本书结合Android应用开发的一些具体案例,由浅入深地阐述Android应用开发的基础知识、常用技巧和关键技术,例如对一般Android书籍中难以见到的实现消息推送(不利用第三方平台)、即时通信、服务器端接口编程等市场急需的重要开发技能进行了较为细致的讲解,以达到快速提升读者编程水平和实际项目开发能力之目的。 全书分为基础篇、提高篇、开发篇和拓展篇四个部分,共23章。 基础篇(第1~9章),主要包含Android开发环境搭建(包括*的Android Studio安装与配置)、用户界面设计、组件通信等内容。 提高篇(第10~12章),包含百度地图开发、ViewPager和PageAdapter等内容。 开发篇(第13~18章),包含在手机客户端解析JSON、消息推送、Android账户管理、MyBatis框架原理、Maven和Gradle等内容。 拓展篇(第19~23章),包含即时通信、友盟统计及社会化组件、Android客户端程序架构、版本控制工具SVN和Git等内容。
第1章 开发环境搭建和程序开发基础 2
1.1 Android简介 2
1.1.1 Android传奇 2
1.1.2 Android体系结构 3
1.2 搭建Android应用开发环境 4
1.2.1 Android 4.4安装 4
1.2.2 如何解决Android SDK无法
下载Package的问题 6
1.3 **个Android程序 7
1.4 Android程序结构 8
1.5 Android应用的基本组件介绍 9
1.6 Activity的生命周期 10
1.7 程序调试 12
1.8 Android Studio 1.2正式版安
装与配置 13
1.8.1 Windows 7 64位系统安装
JDK并配置环境变量 13
1.8.2 Android Studio环境搭建 14
1.8.3 创建HelloWorld项目 19
1.9 相关阅读材料 23
1.9.1 未来的夏娃 23
1.9.2 Andy Rubin的黯然离场:
他为何非走不可? 23
1.9.3 Andy Rubin早年岁月 24
1.10 本章小结 25
习题1 26
第2章 用户界面设计 27
2.1 用户界面基础 27
2.2 常用控件 31
2.2.1 TextView和EditText 32
2.2.2 Button与ImageButton 33
2.2.3 单选按钮RadioButton和
复选按钮CheckBox 33
2.2.4 ImageView 33
2.2.5 ProgressBar 34
2.2.6 ScrollView 36
2.2.7 ListView 37
2.2.8 GridView 42
2.2.9 AlertDialog 42
2.3 界面布局 43
2.3.1 线性布局及android:
layout_weight属性设置 43
2.3.2 帧布局 45
2.3.3 表格布局 45
2.3.4 相对布局 46
2.3.5 **布局 47
2.3.6 网格布局 48
2.4 消息提示 48
2.5 Handler消息传递机制 49
2.6 项目实战——“3G商城”(一) 52
2.6.1 任务说明 52
2.6.2 项目讲解 52
2.6.3 典型代码及技术实现 53
2.7 相关阅读材料:Android用户界
面中单位的使用 59
2.8 本章小结 60
习题2 60
第3章 组件通信 61
3.1 Activity 61
3.1.1 Activity配置 61
3.1.2 启动和关闭Activity 62
3.1.3 使用Bundle在Activity之间
交换数据 62
3.1.4 调用另一个Activity并
返回结果 63
3.2 Intent对象 64
3.3 发送并返回短信内容举例 67
3.4 本章小结 68
习题3 68
第4章 后台服务与广播消息 69
4.1 Service应用 69
4.1.1 简介 69
4.1.2 进程内服务 69
4.1.3 跨进程服务 74
4.2 接收广播消息 77
4.2.1 简介 77
4.2.2 发送广播 79
4.2.3 有序广播 82
4.2.4 接收系统广播消息 83
4.3 相关阅读材料:Android开源库
EventBus 83
4.4 本章小结 89
习题4 91
第5章 数据存储与访问 92
5.1 使用SharedPreferences 92
5.1.1 简介 92
5.1.2 SharePreferences举例 94
5.2 文件存储 94
5.2.1 简介 94
5.2.2 读写SD卡上的文件 95
5.2.3 文件存储举例 96
5.3 SQLite数据库 96
5.3.1 简介 96
5.3.2 手动创建SQLite数
据库 96
5.3.3 SQLiteDatabase 98
5.4 数据共享 101
5.4.1 ContentProvider 101
5.4.2 创建数据提供者 102
5.4.3 使用数据提供者 103
5.4.4 ContentProvider举例 103
5.5 项目实战——课程表 104
5.5.1 任务说明 104
5.5.2 项目讲解 105
5.5.3 典型代码及技术要点 106
5.6 本章小结 109
习题5 109
第6章 Android网络应用 110
6.1 HTTP通信 110
6.2 Socket通信 115
6.3 使用WebView显示网页 119
6.4 项目实战——查询员工信息 123
6.4.1 任务说明 123
6.4.2 项目讲解 123
6.4.3 典型代码及技术要点 124
6.5 本章小结 126
习题6 127
第7章 图形图像处理 128
7.1 基本绘图 128
7.1.1 准备画布(Canvas) 128
7.1.2 准备画笔(Paint) 129
7.1.3 位图处理(Bitmap和
BitmapFactory) 129
7.2 2D绘图 130
7.2.1 几何图形 130
7.2.2 文本 132
7.2.3 路径 133
7.2.4 图片 133
7.3 图形特效处理 134
7.3.1 平移、旋转、缩放、倾斜 134
7.3.2 扭曲 136
7.3.3 位图着色器 137
7.4 综合练习 138
7.4.1 任务说明 138
7.4.2 代码实现 138
7.5 本章小结 140
习题7 140
第8章 Fragment 141
8.1 Fragment概述 141
8.2 Fragment的生命周期 141
8.3 Fragment使用 142
8.4 将Fragment加入Activity中 143
8.5 使用Fragment举例 144
8.6 本章小结 146
习题8 147
第9章 Java并发编程 148
9.1 Java线程池简介 148
9.2 Executor与ExecutorService 149
9.3 ThreadPoolExecutor 153
9.4 Future模式 157
9.5 项目实战——“3G商城”(二) 161
9.5.1 任务说明 161
9.5.2 项目讲解 161
9.5.3 典型代码及技术要点 163
9.6 本章小结 173
习题9 173
第二部分 提 高 篇
第10章 百度地图开发 176
10.1 Android地图SDK 176
10.1.1 概述 176
10.1.2 申请密钥 176
10.1.3 SimpleMapDemo 180
10.1.4 基础地图 183
10.1.5 事件监听 183
10.2 Android定位SDK 187
10.3 Android导航SDK 187
10.4 项目实战——“开发百度地图” 187
10.4.1 任务说明 187
10.4.2 项目讲解 187
10.4.3 典型代码及技术要点 190
10.5 本章小结 196
习题10 196
第11章 ViewPager和PageAdapter 198
11.1 ViewPager和PageAdapter 198
11.2 FragmentPageAdapter实现仿
QQ界面 200
11.3 仿网易新闻客户端Tab标签实现 205
11.4 本章小结 208
习题11 208
第12章 PostgreSQL 9 209
12.1 PostgreSQL简介 209
12.2 PostgreSQL 9的安装与配置 209
12.2.1 安装 209
12.2.2 使用pgAdmin III连接
PostgreSQL 209
12.3 数据库的基本操作 210
12.3.1 创建数据库 210
12.3.2 修改数据库 211
12.3.3 删除数据库 211
12.4 数据表的基本操作 211
12.4.1 创建数据表 211
12.4.2 修改数据表 212
12.4.3 删除数据表 212
12.5 插入、更新与删除数据 212
12.5.1 插入 212
12.5.2 更新 213
12.5.3 删除 214
12.6 数据查询 214
12.6.1 查询语句 214
12.6.2 单表查询 215
12.6.3 集合函数查询 217
12.6.4 连接查询 218
12.6.5 子查询 219
12.6.6 正则表达式查询 220
12.6.7 别名 221
12.7 综合练习 221
12.7.1 任务说明 221
12.7.2 具体实现 221
12.8 相关阅读材料:数据备份
与还原 224
12.9 本章小结 225
习题12 225
第三部分 开 发 篇
第13章 在手机客户端解析JSON 228
13.1 JSON简介 228
13.2 服务器端生成JSON数据 228
13.3 在手机客户端解析JSON 231
13.4 项目实战——“3G商城”(三) 233
13.4.1 任务说明 233
13.4.2 项目讲解 233
13.4.3 典型代码及技术要点 235
13.5 本章小结 239
习题13 239
第14章 消息推送 240
14.1 Android消息推送机制 240
14.1.1 推送方式基础 240
14.1.
“北冥有鱼,其名为鲲,鲲之大,不知其几千里也。化而为鸟,其名为鹏,鹏之背,不知其几千里也;怒而飞,其翼若垂天之云……天之苍苍,其正色邪?其远而无所至极邪?其视下也,亦若是则已矣。”
移动互联网时代,Android为王。移动设备的市场份额中Android排名**,应用的下载次数达到近600亿,每天有近几十万台的Android设备售出。
移动计算带来的社会巨变史无前例。苹果以其天才的创新,使得iPhone在全球迅速有了数百万名忠实“粉丝”,而Android作为**个完整、开放、免费的手机平台,使开发者在为其开发程序时拥有更大的自由。
由于Android发展迅速,导致了就业市场对Android开发人员的需求量猛增。然而更多企业需要的是拥有实践经验的开发人员,同时高校Android教学相关书籍也非常缺乏。
本书的编者参与了多个Android商业项目的开发,并将商业项目进行精简,成为高校教学更易用的实训项目,以达到培养高校学生提升Android开发实践能力的目的。
本教材的特色之一是“行动体系的课程”向“学科体系课程”的渗透。从“学习情境”(问题情景)的假设,到自己动手解决问题,应该说是更多地带有“行动体系课程”的特点。在思维层次上,由“感性认识”到“理性认识”的认知方式更容易让学生接受。(“行动体系的课程”提出源于德国高等教育领域,主张学生在行动中思考、学习、总结,再上升为经验(理论)。)
本书的另一特色是项目课程设计。“项目课程”可追溯到17世纪和18世纪,*早出现在意大利罗马的建筑师学院,现已成为一种有着深厚理论基础的课程模式。但实际往往是,源于企业的项目过大,无法遵照学习规律,因此需要重新按从易到难的顺序设计项目系列。只有对实际项目进行压缩、简化,而又具备一定程度的综合性、针对性和复杂性,才能使学生获得真实化、综合化的职业能力。现在公开出版的众多Android书籍中,所涉及的Android项目案例与真实的商业项目还是有相当大的区别的。
本教材的特色之三是实训项目来源于真实的商业项目。
本教材的特色之四是配套教学资源丰富。
本书编者根据自身实际参与的真实商业项目,经过精简和提炼,精心编写了2个教学案例:“3G商城”和“掌上苏大”。本书主要以这两个项目的教学贯穿整个课程教学的始末。为了教学方便,其间也穿插有其他小的项目,例如“开发百度地图”、“Android客户端实现推送”、“实现即时通信”、“课程表”等。实际上,这些小项目都可作为模块,集成到“掌上苏大”项目中。
需要说明的是,本书的定位是卓越工程师培养创新教材。不仅面向在校学生,而且面向广大Android程序员、技术人员和培训机构等。
编者也衷心希望广大高校学生,通过精心阅读和认真学习本书内容,能够在一定程度上提高自身的就业能力。
给授课教师的教学建议
如下表所示,标注“*”号的章节可作为可选章节。如果要针对高校学生实施教学,正常教学课时可安排在48~82课时之间,根据具体情况,可灵活安排。
具体章节 建议课时 是否可选章节 可选章节
建议课时
第1章 开发环境搭建和程序开发基础 2
第2章 用户界面设计 6
第3章 组件通信 2
第4章 后台服务与广播消息 4
第5章 数据存储与访问 4
第6章 Android网络应用 4
第7章 图形图像处理 2
第8章 Fragment 2
第9章 Java并发编程 6
第10章 百度地图开发 4
第11章 ViewPager和PageAdapter 2
*第12章 PostgreSQL 9 可选 6
第13章 在手机客户端解析JSON 4
第14章 消息推送 4
*第15章 Android账户管理 可选 2
*第16章 MyBatis框架原理 可选 6
第17章 Maven和Gradle 2
*第18章 服务器端接口编程 可选 4
*第19章 即时通信 可选 4
*第20章 友盟统计及社会化组件 可选 2
*第21章 Android客户端程序架构 可选 4
*第22章 Java设计模式 可选 4
*第23章 版本控制工具——SVN和Git 可选 2
合计 48 34
给读者的学习建议
若要成为高水平的Android程序员,编者给出的建议如下:
(1)首先将Java语言基础打牢。可以认真研读《SCJP考试指南(考试号310-065)》(电子工业出版社)一书,把书上的题目尽可能都做一遍。
(2)认真把本书的第9章Java并发编程搞清楚。因为Android客户端编程一般都是并 发的。
(3)限于篇幅,本书对Java设计模式并未展开详尽的阐述,推荐《设计模式之禅(第2版)》,通过该书比较深入地学习Java设计模式。同时多翻看项目源码,但脑子里要琢磨设计模式。
(4)多看开源代码。本书的第14章消息推送和第19章即时通信都涉及开源代码。实际上,一些开源代码比商业软件代码更复杂。
(5)在编程水平得到一定提高的基础上,可学习Android系统源代码。为更清楚、透彻地理解Java的自动内存管理机制,可对Java虚拟机规范加以研究。
祝您早日成为Android编程高手!
编者分工与致谢
本书由韩冬负责拟定提纲和统稿,并编写了第1章、第4章、第8~11章、第13~15章、第17章、第19~22章,魏慧编写了第2~3章、第5~6章、第18章,胡沁涵编写了第7章、第12章和第16章,张建编写了第23章,贾俊铖负责编写附录部分。苏州大学计算机学院学生崔益欣、李昕、徐磊、任伟荣、朱锐、倪剑飞、王敦文、朱灿、李家强、崔盼盼、徐旺、夏鸣等协助负责该书稿的PPT、源代码、习题解答和教学视频的建设,书稿中及程序中用到的图片多由崔益欣同学提供。在这里向他们表示衷心的感谢!
本书提供了丰富的网络教学资源包,包含所有章节的PPT、程序源码、习题解答、教学视频、所需软件工具及一个帮助学习本书的手机APP。读者可在华信教育资源网进行下载,地址为:http://www.hxedu.com.cn/。
鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵意见和建议,以便再版时改进。
韩冬
2015年9月
评论
还没有评论。