
本书主要介绍如何利用Android Studio、Eclipse 等工具开发Android 项目。全书共分5 章,主要内容 涉及Android 项目开发环境介绍、常用布局及布局组件、活动等几大组件、数据存储、网络XML 和JSON 数据存取等内容。大部分章节都配备了案例,边讲理论边通过案例介绍如何应用。本书面向的是Android 开发初学者,大部分章节都配备了案例,主要是针对该章节的知识应用,代码不过多冗余,易于读者理解。 本书可以作为普通高等院校计算机及相关专业课程的教材,也可以作为初学者和Android 项目开发人 员的参考书。
前 言 Android 系统自2007 年问世以来,备受广大用户的青睐。系统的开源为广大厂商及学 习者提供了难得的机遇。在早期,google 公司使用Eclipse 集成开发环境进行Android 项目 开发,2013 年以后google 推出了自己的开发工具——Android Studio。google 在Android Studio 刚开始推出的两三年内,还一直支持Eclipse 开发平台,近几年Android Studio 日趋 成熟,技术也有不少更新,随即逐渐淡化Eclipse 工具,加强对Android Studio 的改进。为 了把最新的Android 技术呈现给读者,笔者选择Android Studio 作为开发工具、Java 作为 主要开发语言,介绍Android 项目的相关技术。 本书特点: 1. 本书面向的是Android 开发初学者,大部分章节都配备了案例,主要是针对该章节 的知识应用,代码不过多冗余,易于读者理解。 2. 浅显易懂,虽然使用了Java 编程语言开发,但是并不难,很多地方都添加了注释, 并配备了源代码供读者参考,稍有编程基础的人员就可以看懂。 3. 将Web 服务端与App 客户端的开发过程通过案例的形式进行分步骤讲解,有助于 读者全局把握网络App 开发的整个工作过程。 章节安排: 全书共分为5 章,第1 章讲解Android 项目开发环境,主要介绍Android Studio 环境 下基于Java 语言的Android 开发环境搭建,以及项目的建立及运行、打包、发布等环节, 是进行Android 项目开发的基础。第2 章主要介绍Android 项目界面布局及常用界面组件 的使用,大多以案例的形式介绍组件的使用。第3 章主要介绍活动、服务、意图等组件, 这也是Android 项目中最常用到的,在介绍这些组件时,都引入了应用案例帮助读者理解 理论知识。第4 章介绍目前Android 项目用到的几种数据存储技术,并配备了应用案例。 第5 章是第4 章的延伸,目前大多App 都采用网络数据存取,这样便于管理,在网络数据 存取中,基于XML 和JSON 的轻量级数据格式最简洁,因此详细介绍了服务端如何生成 — IV — XML、JSON 的数据,以及Android 客户端又是如何解析这些数据格式的,并配备了应用 案例。 本书由教学团队的4 名一线教师共同完成。其中,宋三华编写第1 章和第5 章,王娟 娟编写第2 章,刘直良编写第3 章,田丽芳编写第4 章。 意见反馈: 虽然我们尽最大的努力想把Android 最核心的基础知识呈现给大家,但教材中也难免 会有不妥之处,欢迎各位读者、同仁来信给予宝贵意见,我们将不胜感激。来信请发送至 电子邮件43674072@qq.com。 资料获取: 教材有配套的案例源码,如有需要请登录华信教育资源网(http://www.hxdeu.com.cn) 下载。
目 录 第1 章 Android 概述 ..................................................................................... 1 1.1 Android 平台架构 .......................................................................................................... 1 1.2 软件的下载和安装 ........................................................................................................ 3 1.2.1 JDK 的下载与安装 ............................................................................................. 3 1.2.2 Android Studio 的下载与安装 ........................................................................... 5 1.3 Android Studio 项目的建立与运行 ............................................................................ 17 案例1-1 项目的建立 ................................................................................................. 17 案例1-2 项目的运行 ................................................................................................. 21 1.4 Android 项目结构及Android Studio 界面 ................................................................. 22 本章练习 ............................................................................................................................... 25 第2 章 项目界面搭建 .................................................................................. 26 2.1 系统资源 ...................................................................................................................... 26 2.1.1 图片资源 ........................................................................................................... 26 2.1.2 文本资源 ........................................................................................................... 27 2.1.3 尺寸介绍 ........................................................................................................... 28 2.1.4 颜色资源 ........................................................................................................... 29 2.2 界面布局 ...................................................................................................................... 30 2.2.1 LinearLayout ..................................................................................................... 31 案例2-1 线性布局的应用 ......................................................................................... 34 2.2.2 ConstraintLayout ............................................................................................... 36 2.2.3 FrameLayout ...................................................................................................... 40 — VI — 2.2.4 TableLayout ....................................................................................................... 40 2.2.5 RecyclerView .................................................................................................... 43 案例2-2 循环视图的应用 ......................................................................................... 43 2.3 界面交互方式 .............................................................................................................. 51 2.3.1 基于回调方法的交互应用 ............................................................................... 51 案例2-3 点触回调方法的应用 ................................................................................. 54 2.3.2 基于监听接口的交互应用 ............................................................................... 58 案例2-4 监听接口的应用 ......................................................................................... 58 2.4 常用窗口小部件 .......................................................................................................... 63 2.4.1 TextView ............................................................................................................ 63 2.4.2 EditText ............................................................................................................. 64 案例2-5 EditText 的应用 .......................................................................................... 66 2.4.3 AutoCompleteTextView .................................................................................... 68 案例2-6 AutoCompleteTextView 的应用 ................................................................. 69 2.4.4 MultiAutoCompleteTextView ........................................................................... 71 案例2-7 MultiAutoCompleteTextView 的应用 ........................................................ 71 2.4.5 Button ................................................................................................................ 73 2.5 Menu ............................................................................................................................. 73 2.5.1 Menu 菜单文件的创建 ..................................................................................... 73 2.5.2 Menu 菜单文件的格式 ..................................................................................... 74 2.5.3 Menu 菜单资源的引用 ..................................................................................... 76 2.5.4 Menu 类及其方法 ............................................................................................. 76 2.5.5 MenuItem 接口类 ............................................................................................. 76 2.5.6 Menu 的分类 ..................................................................................................... 76 案例2-8 选项菜单的应用 ......................................................................................... 78 案例2-9 搜索菜单的应用 ......................................................................................... 83 案例2-10 浮动上下文菜单的应用 ........................................................................... 87 案例2-11 ListView 的应用 ....................................................................................... 89 案例2-12 PopupMenu 的应用 .................................................................................. 94 2.6 AlertDialog ................................................................................................................... 96 案例2-13 简单对话框的应用 ................................................................................... 98 案例2-14 列表对话框的应用 ................................................................................. 100 案例2-15 单选对话框的应用 ................................................................................. 101 案例2-16 自定义视图对话框的应用 ..................................................................... 103 案例2-17 多选对话框的应用 ................................................................................. 105 本章练习 ............................................................................................................................. 106 — VII — 第3 章 增加项目组件 ................................................................................ 107 3.1 Activity ....................................................................................................................... 107 3.1.1 活动的生命周期 ............................................................................................. 107 案例3-1 验证活动生命周期 ................................................................................... 110 3.1.2 活动的创建及应用 ......................................................................................... 117 3.2 Intent ........................................................................................................................... 121 3.2.1 Intent 简介 ....................................................................................................... 121 3.2.2 Intent Filter ...................................................................................................... 125 3.2.3 Intent 的应用场景 ........................................................................................... 127 案例3-2 Intent 的应用 ............................................................................................ 128 3.3 Service ........................................................................................................................ 135 3.3.1 服务的生命周期 ............................................................................................. 136 3.3.2 服务的类型 ..................................................................................................... 136 3.3.3 服务的声明 ..................................................................................................... 137 案例3-3 服务的应用 ............................................................................................... 137 3.4 BroadcastReceiver ...................................................................................................... 142 3.4.1 广播的分类 ..................................................................................................... 142 3.4.2 广播接收者的注册 ......................................................................................... 143 案例3-4 广播接收者在无序广播中的应用 ........................................................... 144 案例3-5 广播接收者在有序广播中的应用 ........................................................... 147 本章练习 ............................................................................................................................. 150 第4 章 数据存储 ....................................................................................... 151 4.1 特定于应用程序的存储 ............................................................................................ 152 4.1.1 内部存储 ......................................................................................................... 152 案例4-1 内部存储的应用 ....................................................................................... 154 4.1.2 外部存储 ......................................................................................................... 162 案例4-2 外部存储的应用 ....................................................................................... 164 4.2 首选项存储 ................................................................................................................ 173 4.2.1 首选项存储的简介 ......................................................................................... 173 4.2.2 首选项存储的基本操作 ................................................................................. 174 案例4-3 首选项的应用 ........................................................................................... 175 案例4-4 PreferenceScreen 及首选项应用 .............................................................. 181 4.3 共享存储 .................................................................................................................... 187 — VIII — 4.3.1 多媒体数据库 ................................................................................................. 187 案例4-5 MediaStore 数据库特定表字段的获取 ................................................... 188 案例4-6 视频文件的获取 ....................................................................................... 193 4.3.2 存储访问框架SAF ......................................................................................... 199 案例4-7 存储访问框架的应用 ............................................................................... 201 4.4 SQLite 数据库存储 .................................................................................................... 204 4.4.1 数据库基础知识 ............................................................................................. 204 4.4.2 SQLiteOpenHelper .......................................................................................... 206 4.4.3 SQLiteDatabase 基本操作 .............................................................................. 206 案例4-8 SQLite 数据库存储的应用 ...................................................................... 207 本章练习 ............................................................................................................................. 215 第5 章 网络服务 ....................................................................................... 216 5.1 Web 服务器的搭建 .................................................................................................... 216 5.1.1 Tomcat 的安装与测试 .................................................................................... 216 5.1.2 Eclipse 的下载与安装 .................................................................................... 219 5.1.3 Eclipse 中配置Tomcat ................................................................................... 219 案例5-1 Java Web 项目的创建和运行 .................................................................. 222 5.1.4 MySQL 的安装与配置 ................................................................................... 226 5.1.5 JSP 连接MySQL 数据库 ............................................................................... 233 5.2 HTTP 通信 ................................................................................................................. 237 5.3 XML 数据访问 .......................................................................................................... 238 5.3.1 XML 数据格式 ............................................................................................... 238 案例5-2 服务器端生成XML ................................................................................. 239 5.3.2 SAX 解析XML .............................................................................................. 253 案例5-3 Android 端使用SAX 解析XML ............................................................ 254 5.3.3 PULL 解析XML ............................................................................................ 261 案例5-4 Android 端使用PULL 解析XML .......................................................... 262 5.3.4 DOM 解析XML ............................................................................................. 265 案例5-5 Android 端使用DOM 解析XML ........................................................... 266 5.4 JSON 数据访问 .......................................................................................................... 269 案例5-6 服务器端生成JSON ................................................................................ 270 案例5-7 Android 端获取JSON 数据 ..................................................................... 276 本章练习 ............................................................................................................................. 280 第