
本书以Google推出的Android IDE - Android Studio和Android模拟器Genymotion作为开发环境进行编写,全面介绍了Android应用开发的相关知识,内容覆盖了Android系统与开发环境,Android UI设计,基本程序单元Activity,Android应用核心Intent和Filters,Android事件处理,Android服务,Android广播接收器,ContentProvider实现数据共享,图形、图片与多媒体,Android网络编程基础,Android数据存储,GPS应用开发,以及对应的实验项目等。本书不局限于介绍Android编程的各种理论知识,而是以“实例驱动”的方式来讲解。全书共50多个实例,这些实例能够帮助读者更好地理解Android的各种知识在实际开发中的应用。第2版中增加了7个Android实验项目,其内容与理论部分相匹配,为读者理解知识点提供实践支撑。与本书配套的所有实例和实验项目都可以登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。同时,读者可以访问“学银在线”(www.xueyinonline.com)观看“智能终端应用程序开发”在线金课。该在线金课包含在线资料、在线作业、在线考试、在线讨论、在线直播、公告通知、在线活动和课程统计等模块。本书可作为高等院校计算机科学与技术、软件工程、信息管理、电子商务等相关专业的本科生和研究生教材,也可供从事移动开发的工作者学习参考。
前言 随着移动互联网的快速发展,无论是个人的工作还是生活,都受到其极大的影响。移动互联网的时代已经到来,移动互联网已成为全世界商业和科技创新发展的加速器,成为当今时代最大的机遇和挑战。 Android就是一个开放式的移动互联网操作系统。目前,Android已经成为移动互联网的“宠儿”,是应用最广泛的移动互联网平台(根据2020年的数据统计,Android的市场占有率为74.6%,iOS的市场占有率为24.82%)。因此,手机软件在当今的IT行业中具有举足轻重的地位。从招聘市场的情况来看,对Android软件人才的需求也越来越大。 在2013年Google I/O大会上,Google正式推出了官方Android软件集成开发工具Android Studio,并在2015年宣布停止对Android Eclipse的支持。以前,很多书籍都是以Android Eclipse为开发环境编写的,但以后基于Android Studio的IDE开发是大势所趋,所以本书采用Android Studio作为实例开发平台进行讲解。 本书注重讲解手机应用开发的新技术和新应用,突出先进性、系统性、实用性和可操作性,能够使读者在较短的时间内进行Android开发环境的搭建,深刻理解Android平台体系结构,熟练使用Android基本组件、Android存储操作、多媒体开发、网络应用程序开发等技术,从而具备基本的算法设计能力、一定的系统设计和模块设计能力、一定的需求分析能力和软件代码编写能力。本书具有以下特色。 1.全新的开发环境 本书以Google官方Android IDE-Android Studio V4.1.2为开发环境对实例进行开发和讲解,让读者更快地了解Android Studio的界面操作。同时,本书引入了当前应用广泛的Android模拟器软件Genymotion,并对Genymotion的安装、使用进行了详细介绍,让开发者摆脱Android模拟器运行缓慢、耗费内存的缺点,使Android开发更加得心应手。 2.由浅入深,循序渐进 本书以高等院校本科生为对象,使学生从了解Android和搭建Android开发环境开始,到学习Android开发的基础技术,再到学习Android开发的高级内容,最后学习如何开发一个完整项目。本书讲解步骤详尽、版式新颖,并在操作的内容图片上进行了标注,让读者在阅读时一目了然,从而快速掌握本书内容。 3.知识全面,覆盖面广 本书全面介绍了Android的相关知识,内容包括Android系统与开发环境,Android UI设计,基本程序单元Activity,Android应用核心Intent和Filters,Android事件处理,Android服务,Android 广播接收器,ContentProvider 实现数据共享,图形、图片与多媒体,Android网络编程基础,Android数据存储,GPS应用开发,以及对应的实验项目等。 4.实例典型,轻松易学 通过实例进行学习是最好的学习方式,本书通过“实例驱动”的方式来讲解理论知识。全书共50多个实例,这些实例能够帮助读者更好地理解Android的各种知识在实际开发中的应用。本书包含7个实验项目,综合运用前面所介绍的知识点,可以更好地帮助读者通过实践练习理解理论概念。 5.改革创新性强 本书采用“滚动在线课程视频、在线试题库、在线案例源代码分享、在线讨论小组和共享提升资源库”五位一体新平台教材编写模式。 编著者在编写本书时,将适应社会发展需要的新平台、新媒体、新应用等教学改革手段应用在本书中。2017年编著者与北京世纪超星信息技术发展有限责任公司合作,共同开发并推出本书对应的线上“金课”。2018年—2021年在“学银在线”平台提供6期线上滚动课程“智能终端应用程序开发”,累计访问量为300 957人次,提供42节视频课、500道在线试题、600MB在线案例源代码、15个在线讨论小组、1000余个其他共享资源。上述在线资源在新冠肺炎疫情期间为各大高校的新常态教学方式提供了重要支持。 本书可作为高等院校计算机科学与技术、软件工程、信息管理、电子商务等相关专业的本科生和研究生教材,也可供从事移动开发的工作者学习参考。与本书配套的所有实例和实验项目都可以登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。 特别感谢蹇洁教授对本书编写工作提供的指导和大力支持。同时感谢本书的编辑,没有她的策划、指导、无私帮助和辛勤工作,就不会有本书的出版。 本书仅以Android Studio V4.1.2 + API 18/23 + Genymotion为开发环境进行讲解,书中所论并不完美,难免存在错误和疏漏之处,恳请读者批评指正。编著者E-mail:luowl@cqupt.edu.cn。 编著者
目录 第1篇 Android基础篇 第1章 Android系统与开发环境 2 1.1 什么是Android 2 1.1.1 Android平台的架构 2 1.1.2 Android系统的功能 5 1.1.3 Android系统分支 6 1.1.4 Android平台五大优势特色 7 1.2 Android Studio入门 8 1.2.1 Android Studio的特点 8 1.2.2 Android Studio系统要求 8 1.2.3 Android Studio和Eclipse ADT的比较 9 1.3 Android开发环境的搭建 9 1.3.1 JDK的下载 9 1.3.2 JDK的安装 11 1.3.3 JDK的环境变量配置 12 1.3.4 在Windows环境下安装Android Studio 15 1.3.5 下载、安装和配置Android SDK 17 1.4 Android自带模拟器AVD 19 1.4.1 什么是AVD 19 1.4.2 通过AVD Manager创建AVD 19 1.5 Android模拟器Genymotion 22 1.5.1 什么是Genymotion 22 1.5.2 Genymotion的特性 22 1.5.3 Genymotion运行环境要求 23 1.5.4 注册和下载Genymotion模拟器 23 1.5.5 安装Genymotion模拟器 25 1.5.6 使用Genymotion模拟器 27 1.5.7 给Android Studio安装Genymotion插件 29 1.6 新建一个HelloWorld项目 29 第2章 Android UI设计 33 2.1 Android UI布局 33 2.2 ListView(列表视图) 43 2.2.1 ListView(列表视图)的常用属性 43 2.2.2 ArrayAdapter(数组适配器) 44 2.3 GridView(网格视图) 46 2.4 Android UI控件 53 2.4.1 TextView(文本框) 53 2.4.2 EditText(编辑框) 55 2.4.3 AutoCompleteTextView(自动填充文本框) 58 2.4.4 Button(普通按钮) 61 2.4.5 ImageButton(图片按钮) 63 2.4.6 CheckBox(复选框) 66 2.4.7 ToggleButton(开关按钮) 70 2.4.8 RadioButton(单选按钮)与RadioGroup(按钮组) 73 2.4.9 使用ProgressDialog(进度对话框)类创建ProgressBar(进度条) 77 2.4.10 Spinner(列表选择框) 80 2.4.11 TimePicker(时间拾取器) 83 2.4.12 DatePicker(日期拾取器)与DatePickerDialog(日期拾取器对话框) 87 第3章 基本程序单元Activity 93 第4章 Android应用核心Intent和Filters 98 4.1 Intent对象的各属性 98 4.1.1 Component(组件) 99 4.1.2 Action(动作) 99 4.1.3 Category(类别) 100 4.1.4 Data(数据)和Type(类型) 101 4.1.5 Extra(额外) 102 4.1.6 Flag(标记) 102 4.2 Intent的类型 103 4.2.1 显式Intent 103 4.2.2 隐式Intent 103 4.3 Intent Filters(意图过滤器) 107 第5章 Android事件处理 115 5.1 Android事件处理概述 115 5.2 事件监听器的注册方法 115 第6章 Android服务 125 6.1 Service的分类 125 6.2 Service的生命周期 125 6.3 Service生命周期中的回调方法 126 第7章 Android广播接收器 131 7.1 创建Broadcast Receiver 131 7.2 注册Broadcast Receiver 131 7.2.1 接收用户自定义Broadcast Intent消息 132 7.2.2 接收系统广播消息 132 第8章 ContentProvider实现数据共享 140 8.1 ContentProvider概述 140 8.2 URI简介 141 8.3 创建ContentProvider 141 第9章 图形、图片与多媒体 152 9.1 基础绘图 152 9.1.1 常用绘图类 152 9.1.2 绘制2D图形 153 9.2 位图操作 156 9.3 Android中的动画 158 9.3.1 Frame Animation 159 9.3.2 Tween Animation 161 9.3.3 Property Animation 168 9.3.4 AnimationListener(动画监听器) 168 9.4 在Android中播放音频与视频 169 9.4.1 MediaPlayer介绍 169 9.4.2 运用MediaPlayer播放音频 171 9.4.3 播放视频 176 9.5 控制摄像头拍照 182 第10章 Android网络编程基础 185 10.1 基于TCP协议的网络通信 185 10.1.1 TCP/IP协议基础 185 10.1.2 使用Socket与ServerSocket建立通信 186 10.2 使用URL访问网络 190 10.2.1 使用URL获取网络资源 190 10.2.2 使用URLConnection提交请求 192 10.2.3 使用HttpURLConnection实现网络通信 197 10.3 使用WebView 199 10.3.1 使用WebView浏览网页 199 10.3.2 加载本地HTML网页 201 10.3.3 JavaScript交互调用 202 10.4 使用WebService进行网络编程 205 10.4.1 WebService基础 205 10.4.2 调用WebService 206 10.4.3 实现手机归属地查询 207 第11章 Android数据存储 211 11.1 使用SharedPreferences 211 11.1.1 SharedPreferences的使用方法 211 11.1.2 SharedPreferences的应用 212 11.2 File存储 213 11.2.1 使用I/O流操作文件 213 11.2.2 文件操作应用 214 11.2.3 将文件保存到SD卡 216 11.3 SQLite数据库 218 11.3.1 SQLite数据库介绍 219 11.3.2 SQLite数据库操作 221 第12章 GPS应用开发 232 12.1 支持GPS的核心API 232 12.2 获取LocationProvider 233 12.3 获取定位信息 235 第2篇 Android实验篇 实验1 简单UI设计 240 1.1 实验目的 240 1.2 实验要求 240 1.3 实验内容 240 1.4 实验报告 245 1.5 实验成绩考核 246 实验2 高级UI设计 247 2.1 实验目的 247 2.2 实验要求 247 2.3 实验内容 247 2.4 实验报告 255 2.5 实验成绩考核 256 实验3 Intent与Activity的使用 257 3.1 实验目的 257 3.2 实验要求 257 3.3 实验内容 257 3.4 实验报告 269 3.5 实验成绩考核 269 实验4 Android资源访问 270 4.1 实验目的 270 4.2 实验要求 270 4.3 实验内容 270 4.4 实验报告 277 4.5 实验成绩考核 277 实验5 图形、图片与多媒体 278 5.1 实验目的 278 5.2 实验要求 278 5.3 实验内容 278 5.4 实验报告 284 5.5 实验成绩考核 285 实验6 Android网络编程基础 286 6.1 实验目的 286 6.2 实验要求 286 6.3 实验内容 286 6.4 实验报告 295 6.5 实验成绩考核 296 实验7 SQLite和SQLiteDatabase的使用 297 7.1 实验目的 297 7.2 实验要求 297 7.3 实验内容 297 7.4 实验报告 311 7.5 实验成绩考核 312 附录A “智能终端应用程序开发”在线金课 313 A.1 课程访问方式 313 A.2 在线金课课程体系 314 A.3 教学内容 316 A.4 教学方法 316 参考文献 318
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0418040