本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的案例分析、关键代码的分析,详细介绍了Android平台基础知识以及进行项目开发应该掌握的基本应用技术。全书共分12章,内容包括Android集成开发环境搭建、Android项目的组成及开发流程、常用基本组件的使用、后台服务开发、数据存储技术、组件之间的通信技术、多媒体、网络通信技术、图形和图像处理及项目案例分析等。
书中注重应用实例开发,由浅入深、循序渐进地将理论知识和实例紧密结合,以加深读者对Android系统基础知识和基本应用的理解。本书既可作为高等院校信息技术的教材,也可供相关工程技术人员和其他自学者参考。
Android是谷歌(Google)公司发布的一款开源移动设备操作系统,它基于Linux平台,是目前世界上最流行的移动设备操作系统之一。Android是一个完全免费的操作系统平台,开发应用项目的费用也较以前大幅降低,并且还开放了应用程序的开发工具,从而使Android平台有了丰富的应用程序,吸引了无数软件开发者投身其中。目前很多高校也开设了Android应用程序开发课程,本书旨在满足于高等院校教学或初学者入门学习Android程序开发的需要,使读者轻松、愉快地进入移动应用软件开发大门。
本书基于最新的Android SDK5.0版本编写源代码,使读者能及时跟上Android应用程序开发最新技术的发展。书中注重应用实例开发,由浅入深、循序渐进地将理论知识和实例紧密结合进行介绍、剖析和实现,以加深读者对Android系统基础知识和基本应用的理解,帮助读者系统、全面地掌握Android程序设计的基本思想和基本应用技术,快速提高开发技能,为进一步深入学习Android应用开发打下坚实的基础。
全书共有12章,各章的具体知识点介绍如下。
第1章Android概述,介绍智能手机及智能手机操作系统的发展、Android 操作系统的发展史和系统特征、Android平台的技术架构和Android应用程序的构成。
第2章搭建Android开发环境,掌握安装、配置Android开发环境的步骤和注意事项,理解Android SDK和ADTBundle环境的使用,熟悉在应用程序开发过程中可能使用到的开发工具。
第3章学习Android界面开发常用控件,包括EditText、Button、ImageButton、RadioButton、CheckBox、Spinner、ListView和ProgressBar等,读者熟悉这些控件的功能和用法,将可以设计出优秀的图形界面。
第4章学习Android界面布局与菜单处理,六大布局方式分别是线性布局、帧布局、表格布局、相对布局、绝对布局、网格布局,常见的菜单处理包括选项菜单、子菜单和快捷菜单。
第5章介绍Android生命周期,以Activity为例说明Android系统如何管理程序组件的生命周期。
第6章Android组件之间的通信,学习Intent的各种属性、Intent过滤器和广播消息机制,了解Android系统的组件通信原理,掌握利用Intent启动其他组件的方法。
第7章学习后台服务,Service用于后台完成用户指定的操作,是Android的四大组件之一,掌握Service的启动方式和基础、本地服务应用,了解Service的生命周期。
第8章学习数据存储与访问,Android平台中实现数据存储的方式有5种,分别是使用Shared Preferences存储数据、文件存储数据、SQLite数据库存储数据、使用Content Provider存储数据和网络存储数据。
第9章学习多媒体技术,Android提供了常见媒体的编码、解码机制,可以调用Android提供的现有API,非常容易地集成音频、视频和图片等多媒体文件到应用程序中。
第10章学习Android网络通信技术基础和HTTP通信应用、WebKit应用及Socket通信。
第11章学习图形和图像,Android处理图形的能力非常强大,掌握图片浏览器的应用和访问图片、2D绘图、图像特效的应用及了解内存优化。
第12章以“理财系统”作为示例,综合运用所学的知识和技巧,从需求分析、界面设计、模块设计和程序开发等几个方面,详细介绍Android应用程序的设计思路与开发方法。
本书由杨国燕和聂佳志负责主要编写工作,其中杨国燕编写第1~6章和第12章,聂佳志编写第7~11章,全书由杨国燕完成整体结构的设计。因作者水平有限,书中难免存在不足和疏漏,欢迎大家批评指正,衷心希望各位读者提出宝贵的意见和建议。
编者
2015年12月
第1章Android概述
1.1智能手机的发展
1.1.1智能手机的特点
1.1.2智能手机的未来发展趋势
1.2智能手机操作系统简介
1.2.1智能手机操作系统的发展
1.2.2智能手机操作系统的分类
1.3Android操作系统简介
1.3.1开放手机联盟
1.3.2Android发展史
1.3.3Android系统特征
1.4Android平台的技术架构
1.5Android应用程序的构成
习题
第2章Android开发环境与开发工具
2.1安装Android开发环境
2.1.1JDK下载及安装
2.1.2ADTBundle for Windows下载及安装
2.2使用Android SDK开发Android应用
2.2.1Android SDK目录结构
2.2.2Android SDK中的示例
2.3Android常用的开发工具
2.4Android程序目录结构
2.4.1创建第一个Android应用程序
2.4.2Android程序结构
习题
第3章Android界面开发常用控件
3.1用户界面基础
3.1.1手机用户界面应解决的问题
3.1.2Android平台中的View类
3.2TextView控件
3.2.1TextView控件常见的属性和方法
3.2.2TextView控件实例
3.3EditText控件
3.3.1EditText控件常见的属性和方法
3.3.2EditText控件实例
3.4Button控件
3.4.1Button控件常见的属性和方法
3.4.2Button控件实例
3.5ImageButton控件
3.5.1ImageButton控件常见的属性和方法
3.5.2ImageButton控件实例
3.6RadioButton控件
3.6.1RadioButton控件常见的方法
3.6.2RadioButton控件实例
3.7CheckBox控件
3.7.1CheckBox控件常见的方法
3.7.2CheckBox控件实例
3.8Toast
3.8.1Toast常量和常见的方法
3.8.2Toast实例
3.9Spinner控件
3.9.1Spinner控件常见的属性和方法
3.9.2Spinner控件实例
3.10ListView控件
3.10.1ListView控件常见的属性和方法
3.10.2ListView控件实例
3.11ProgressBar控件
3.11.1ProgressBar常见方法
3.11.2ProgressBar控件实例
习题
第4章Android界面布局与菜单处理
4.1界面布局概述
4.2线性布局
4.2.1LinearLayout类简介
4.2.2线性布局实例
4.3帧布局
4.4表格布局
4.4.1TableLayout类简介
4.4.2表格布局实例
4.5相对布局
4.5.1RelativeLayout类简介
4.5.2相对布局实例
4.6绝对布局
4.6.1AbsoluteLayout类简介
4.6.2绝对布局实例
4.7网格布局
4.8菜单
4.8.1菜单资源
4.8.2选项菜单
4.8.3子菜单
4.8.4快捷菜单
习题
第5章Android生命周期
5.1Android应用程序组件
5.2Android程序生命周期
5.3Activity生命周期
5.4程序调试
5.4.1LogCat
5.4.2DevTools
习题
第6章Android组件之间的通信
6.1Intent简介
6.1.1Intent的action属性
6.1.2Intent的data属性
6.1.3Intent的type属性
6.1.4Intent的category属性
6.1.5Intent的extras属性
6.1.6Intent的component属性
6.2系统标准ActivityAction应用
6.2.1Activity的启动
6.2.2获取Activity返回值
6.3Intent过滤器
6.3.1注册Intent过滤器
6.3.2Intent解析
6.4广播消息实例
习题
第7章后台服务
7.1Service介绍
7.1.1Service启动方式
7.1.2Service基础
7.2本地服务
7.2.1不需要与组件交互本地服务
7.2.2本地服务结合广播接收器
7.2.3与组件交互本地服务
7.2.4Service与Thread的区别
7.3管理Service的生命周期
习题
第8章数据存储与访问
8.1SharedPreferences
8.1.1SharedPreferences简介
8.1.2存储应用程序数据实例
8.1.3读取其他应用程序数据实例
8.2文件存储
8.2.1文件存储简介(内部存储)
8.2.2文件存储应用实例
8.2.3SD Card存储简介
8.2.4SD卡存储应用实例
8.3SQLite数据库存储
8.3.1SQLite数据库简介
8.3.2创建SQLite数据库方式
8.3.3SQLite数据库操作
8.3.4SQLite数据库管理
8.3.5SQLite数据库应用案例
8.4数据共享
8.4.1ContentProvider简介
8.4.2URI、UriMatcher和ContentUris简介
8.4.3创建ContentProvider
8.4.4ContentResolver操作数据
8.4.5ContentProvider应用实例
习题
第9章多媒体
9.1音频播放
9.1.1MediaPlayer的介绍
9.1.2MediaPlayer播放音频
9.2视频播放
9.2.1自带播放器播放视频
9.2.2VideoView播放视频
9.2.3MediaPlayer结合SurfaceView播放视频
9.3音频录制
9.4视频录制
9.5TTS的使用
习题
第10章Android网络通信技术
10.1Android网络通信技术基础
10.1.1无线网络技术
10.1.2Android网络基础
10.1.3Android中的蓝牙
10.1.4Android中的WiFi
10.2HTTP通信
10.2.1HttpURLConnection接口
10.2.2HttpClient接口
10.3WebKit应用
10.3.1WebKit概述
10.3.2WebView浏览网页
10.3.3WebView加载HTML代码
10.3.4WebView与JavaScript
10.4Socket通信
10.4.1Socket传输模式
10.4.2Socket编程原理
习题
第11章图形和图像
11.1图片浏览器
11.1.1Gallery
11.1.2ImageSwither
11.2访问图片
11.2.1Drawable
11.2.2Bitmap和BitmapFactory
11.3内存优化
11.3.1Drawable与Bitmap占用内存比较
11.3.2防止内存溢出
11.42D绘图
11.4.1View类
11.4.2SurfaceView类
11.4.3Paint类
11.4.4Canvas类
11.4.5绘制几何图形
11.4.6绘制文本
11.4.7绘制路径
11.5为图像添加特效
11.5.1旋转图像实例
11.5.2缩放图像实例
11.5.3倾斜图像实例
11.5.4平移图像实例
11.5.5使用BitmapShader渲染图像实例
习题
第12章综合示例设计与开发
12.1需求分析
12.2程序设计
12.2.1系统功能模块设计
12.2.2系统流程设计
12.2.3数据库设计
12.3程序开发
12.3.1工程结构
12.3.2数据库操作类
12.3.3界面设计类
12.3.4辅助工具类
12.3.5主控制类
12.3.6用户界面
习题
参考文献