华信教育资源网
Android 应用开发实践教程
丛   书   名: 卓越工程师培养创新系列教材
作   译   者:韩冬 出 版 日 期:2016-01-01
出   版   社:电子工业出版社 维   护   人:戴晨辰 
书   代   号:G0276800 I S B N:9787121276804

图书简介:

本书结合Android应用开发的一些具体案例,由浅入深地阐述Android应用开发的基础知识、常用技巧和关键技术,例如对一般Android书籍中难以见到的实现消息推送(不利用第三方平台)、即时通信、服务器端接口编程等市场急需的重要开发技能进行了较为细致的讲解,以达到快速提升读者编程水平和实际项目开发能力之目的。 全书分为基础篇、提高篇、开发篇和拓展篇四个部分,共23章。 基础篇(第1~9章),主要包含Android开发环境搭建(包括Android Studio 1.2正式版安装与配置)、用户界面设计、组件通信等内容。 提高篇(第10~12章),包含百度地图开发、ViewPager和PageAdapter等内容。 开发篇(第13~18章),包含在手机客户端解析JSON、消息推送、Android账户管理、MyBatis框架原理、Maven和Gradle等内容。 拓展篇(第19~23章),包含即时通信、友盟统计及社会化组件、Android客户端程序架构、版本控制工具SVN和Git等内容。
您的专属联系人更多
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源
    图书特别说明:
     Android Studio环境示例代码及工具网盘地址:http://pan.baidu.com/s/1cAhaDS 
     Android应用开发实践教程-视频(MP4)网盘地址:http://pan.baidu.com/s/1mhRNofe 

    本书资源

    本书暂无资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书结合Android应用开发的一些具体案例,由浅入深地阐述Android应用开发的基础知识、常用技巧和关键技术,例如对一般Android书籍中难以见到的实现消息推送(不利用第三方平台)、即时通信、服务器端接口编程等市场急需的重要开发技能进行了较为细致的讲解,以达到快速提升读者编程水平和实际项目开发能力之目的。 全书分为基础篇、提高篇、开发篇和拓展篇四个部分,共23章。 基础篇(第1~9章),主要包含Android开发环境搭建(包括Android Studio 1.2正式版安装与配置)、用户界面设计、组件通信等内容。 提高篇(第10~12章),包含百度地图开发、ViewPager和PageAdapter等内容。 开发篇(第13~18章),包含在手机客户端解析JSON、消息推送、Android账户管理、MyBatis框架原理、Maven和Gradle等内容。 拓展篇(第19~23章),包含即时通信、友盟统计及社会化组件、Android客户端程序架构、版本控制工具SVN和Git等内容。

    图书详情

    ISBN:9787121276804
    开 本:16开
    页 数:424
    字 数:678

    本书目录

    目  录
    第一部分  基  础  篇
     
    第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.2  消息推送实现原理	240
    14.2  Android平台的消息推送实现	241
    14.2.1  Push在Android平台上
    长连接的实现	241
    14.2.2  使用Androidpn实现消
    息推送	242
    14.3  项目实战——“Android客
    户端实现推送”	246
    14.3.1  任务说明	246
    14.3.2  项目讲解	246
    14.3.3  典型代码及技术要点	249
    14.4  相关阅读材料	262
    14.4.1  几种常见的消息推送解决
    方案	262
    14.4.2  Androidpn所存在的一些
    问题	263
    14.5  本章小结	264
    习题14	264
    第15章  Android账户管理	265
    15.1  账户管理相关类	265
    15.2  使用OAuth 2.0来进行鉴定	267
    15.3  应用程序如何将一个账号注册到
    系统中	270
    15.4  创建自定义账户示例	273
    15.5  本章小结	275
    习题15	275
    第16章  MyBatis框架原理	276
    16.1  MyBatis框架简介	276
    16.2  从JDBC到MyBatis	277
    16.3  使用MyBatis进行一次简单
    的SQL查询	278
    16.3.1  准备工作	278
    16.3.2  主要步骤	279
    16.3.3  小结	282
    16.4  配置文件说明	282
    16.4.1  主配置文件	282
    16.4.2  接口文件	285
    16.4.3  SQL映射文件	286
    16.4.4  动态SQL	288
    16.5  MyBatis应用	290
    16.5.1  数据的增、删、改、查	290
    16.5.2  关联数据的查询	292
    16.5.3  分页数据的查询	295
    16.5.4  与Spring3集成	296
    16.5.5  与Spring MVC集成	299
    16.6  本章小结	301
    习题16	301
    第17章  Maven和Gradle	303
    17.1  初识Maven	303
    17.2  Maven的安装和配置	305
    17.3  Maven使用	308
    17.4  坐标和依赖	310
    17.5  构建支持Servlet 3.0的Maven Web
    应用	311
    17.6  Gradle来了	314
    17.7  本章小结	315
    习题17	316
    第18章  服务器端接口编程	317
    18.1  JNDI数据源配置	317
    18.2  Log4J与SLF4J	320
    18.3  项目实战——“3G商城”(四)	324
    18.3.1  任务说明	324
    18.3.2  项目讲解	324
    18.3.3  典型代码及技术要点	325
    18.4  MyBatis VS Hibernate	329
    18.5  相关阅读材料:Flexjson	334
    18.6  本章小结	335
    习题18	335
    
     
    第四部分  拓  展  篇
     
    第19章  即时通信	338
    19.1  XMPP协议	338
    19.2  openfire	341
    19.2.1  openfire简介	341
    19.2.2  openfire安装与配置	341
    19.3  Smack简介	343
    19.4  项目实战——“实现即时通信”	347
    19.4.1  登录openfire服务器	347
    19.4.2  获取好友列表	350
    19.4.3  客户端接收服务器发送的
    消息	352
    19.4.4  初步实现两个客户端通信	354
    19.5  相关阅读材料	359
    19.5.1  将openfire源代码导入
    Eclipse	359
    19.5.2  openfire插件开发	364
    19.6  本章小结	367
    习题19	367
    第20章  友盟统计及社会化组件	368
    20.1  友盟应用统计分析	368
    20.1.1  集成准备	368
    20.1.2  友盟统计分析示例	368
    20.2  友盟社会化分享组件	372
    20.3  本章小结	373
    习题20	373
    第21章  Android客户端程序架构	374
    21.1  概述	374
    21.2  项目实战——“掌上苏大”	374
    21.2.1  任务说明	375
    21.2.2  整体框架和运行主界面	375
    21.2.3  Android全局对象
    Application	376
    21.2.4  整个应用的线程终止异常
    处理	377
    21.2.5  程序执行主要流程	378
    21.2.6  推送的实现	381
    21.2.7  整个应用的后台服务和广播
    接收机制	382
    21.2.8  使用友盟第三方平台对用户
    行为进行分析	384
    21.2.9  Android系统账户实现	385
    21.2.10  其他	385
    21.3  本章小结	385
    习题21	385
    第22章  Java设计模式	386
    22.1  设计模式(Design Pattern)的分类
    和设计原则	386
    22.1.1  设计模式的分类	386
    22.1.2  设计原则	386
    22.2  创建模式(CreationalPattern)	387
    22.2.1  工厂方法模式(Factory Method)和抽象工厂模式(Abstract
    Factory)	387
    22.2.2  单例模式(Singleton)	388
    22.2.3  建造者模式(Builder)	388
    22.2.4  原型模式(Prototype)	388
    22.3  结构模式(StructuralPattern)	389
    22.3.1  适配器模式(Adapter)和装饰
    模式(Decorator)	389
    22.3.2  代理模式(Proxy)和外
    观模式(Fa?ade)	390
    22.3.3  桥接模式(Bridge)和组
    合模式(Composite)	390
    22.3.4  享元模式(Flyweight)	391
    22.4  行为模式(BehavioralPattern)	391
    22.4.1  策略模式(Strategy)和模板方法模式(TemplateMethod)	391
    22.4.2  观察者模式(Observer)、迭代器模式(Iterator)、责任链模式
    (Chain of Responsibility)和命
    令模式(Command)	392
    22.4.3  备忘录模式(Memento)和状态
    模式(State)	392
    22.4.4  访问者模式(Visitor)、中介者模式(Mediator)和解释器模式
    (Interpreter)	393
    22.5  本章小结	394
    习题22	394
    第23章  版本控制工具——SVN
    和Git	396
    23.1  版本控制基础知识	396
    23.2  SVN	396
    23.2.1  SVN服务端	396
    23.2.2  SVN客户端	397
    23.2.3  Android Studio中使用SVN	398
    23.3  Git和GitHub	398
    23.3.1  Git安装	398
    23.3.2  远程仓库	399
    23.3.3  分支管理	400
    23.3.4  使用GitHub	401
    23.3.5  Android Studio中使用Git	401
    23.4  比较SVN和Git	401
    23.5  本章小结	402
    习题23	402
    附录A  Eclipse中编码问题
    (包括ADT)	403
    附录B  Eclipse自动部署项目到
    Tomcat的webapps目录	405
    附录C  ADB命令	408
    参考文献	409
    展开

    前     言

    前  言
    “北冥有鱼,其名为鲲,鲲之大,不知其几千里也。化而为鸟,其名为鹏,鹏之背,不知其几千里也;怒而飞,其翼若垂天之云……天之苍苍,其正色邪?其远而无所至极邪?其视下也,亦若是则已矣。”
    移动互联网时代,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月
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网