出版时间:2012-10 出版社:电子工业出版社 作者:郑萌 等编著 页数:459 字数:761000
前言
Android一词的本义指“机器人”,是由Google公司于2007年11月正式对外发布的,作为一种以Linux为基础的开放源代码操作系统,主要用于便携设备。依靠Google的强大开发和媒体资源,凭借其开放性和优异性,Android平台在发展的过程中得到了包括大手机厂商和著名移动运营商在内的业界的广泛支持,除手机的应用之外,目前已逐渐扩展到平板电脑及其他领域上。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。与此同时,随着行业的迅猛发展,Android研发工程师更是日益成为IT职场的紧缺人才。近几年来,各大学、院校已经纷纷开设Android移动开发专业。但是,各院校在Android专业教学建设的过程中几乎都面临教材难觅、内容更新迟缓的困境。虽然目前市场上的Android开发相关的书籍比较多,但几乎都是针对有一定基础的行业内研发人员而编写的,并不完全符合高校的教学要求。高校教学需要一套充分考虑学生现有知识基础和接受度的、明确各门课程教学目标的、便于学校安排课时的Android专业系列教材。 针对高校专业教材缺乏的现状,我们以多年来在嵌入式工程技术领域及移动开发行业内人才培养、项目研发的经验为基础,汇总了近几年积累的数百家企业对Android研发相关岗位的真实需求,并结合行业应用技术的最新状况及未来发展趋势,调研了开设Android专业的大学院校的课程设置情况、学生特点和教学用书现状。通过细致的整理和分析,对专业技能和基本知识进行合理划分,我们编写了这套高等院校“Android开发人才培养规划教材”,包括以下4种: 《Android系统下Java编程详解》 《Android应用程序开发与典型案例》 《Android游戏案例开发与关键技术》 《Android系统移植与驱动开发技术》 本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立,又有机衔接,整套教材具有系统性。考虑到Android研发领域对学生Java语言能力要求较高,专门有针对性地编写了《Android系统下Java编程详解》这本教材,可供“Java语言基础”课程的后续提高课程使用;《Android应用程序开发与典型案例》则结合Android应用开发的核心知识,重点突出了贯穿前面所学知识的实训案例及内容,可供“Android应用程序开发”课程使用;在Android游戏开发方面,根据各院校的教学重点和行业实际应用情况,量身定制了《Android游戏案例开发与关键技术》;《Android系统移植与驱动开发技术》侧重介绍Android底层移植和驱动技术。 本书是其中之一,主要讲解Android应用开发的核心技术及典型应用案例。作为位于Android程序库和运行时上面的应用程序框架层,Android通过提供开放的开发平台,使开发者能够访问核心应用程序所使用的API框架,这样使得组件的重用得以简化,任何应用程序都能发布它的功能且其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。从而使得开发者可以编制极其丰富和新颖的应用程序,自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等。本书将结合大量应用实例分析讲解Android平台的应用程序框架层,以帮助学生达到学用结合的目的。 本书共23章,内容包含两大部分。第一部分是Android程序设计基础,在讲解Android环境搭建以及Android系统基本控件和组件的基础上,结合丰富的实例介绍了Android系统应用编程中典型的技术,比如,Android中的图形图像、多媒体编程、GPS定位与地图编程等;第二部分是Android程序UI设计原则和方法,主要是从手机软件的交互设计谈起,从方法论的角度介绍了Android用户界面设计原则和方法、Android用户界面设计哲学等,并结合实际研发需求给出了具体建议。 本书由华清远见嵌入式学院资深讲师郑萌主编并统校全稿。本书的完成需要感谢华清远见嵌入式学院及华清远见3G学院,教材内容参考了学院与嵌入式及移动开发企业需求无缝对接的、科学的专业人才培养体系。参与本书编写的人员有赵常松、谢培良、崔浩、周志强、李宗亮、李姗姗、吴现凯、高良伟、王泽政、蒋铎、袁升、付世全、赵建乔、赵晶晶,在此表示衷心的感谢。 由于作者水平所限,书中不妥之处在所难免,恳请读者批评指正。对于本书的批评和建议,可以发到www.farsight.com.cn网站的技术论坛中。 编著者 2012年9月
内容概要
本书共23章,内容包含两大部分。第一部分是Android程序设计基础,在介绍Android环境搭建以及Android系统基本控件和组件后,详细介绍了Android系统应用编程中典型的技术,比如,Android中的图形图像、多媒体编程、GPS定位与地图编程等;第二部分是Android程序UI设计,从手机软件的交互设计谈起,介绍了Android用户界面设计原则和方法、Android用户界面设计哲学等,并给出了具体建议。
书籍目录
上篇 Android应用程序设计基础
第1章 Android基本概念
1.1 Android简介
1.2 Android平台特性
1.3 Android系统架构
1.3.1 Linux内核(Linux Kernel)
1.3.2 Android核心库(Libraries)
1.3.3 Android运行时环境(Android Runtime)
1.3.4 Android应用程序框架(Application Framework)
1.3.5 Android应用程序
1.4 Android开发框架
1.4.1 应用方面
1.4.2 数据存储
1.4.3 网络访问方面
1.4.4 开发流程
1.5 OMS简介
1.5.1 OPhone介绍
1.5.2 Widget介绍
1.6 本章小结
第2章 Android开发环境搭建
2.1 Android 开发环境的安装与配置
2.1.1 安装JDK和配置Java开发环境
2.1.2 Eclipse的安装
2.1.3 SDK和ADT的安装和配置
2.2 创建第一个Android应用
2.3 在模拟器上运行程序
2.4 在手机上运行程序
2.5 本章小结
第3章 程序设计基础
3.1 Android程序框架
3.1.1 Android项目目录结构
3.1.2 Android应用解析
3.2 Android程序UI设计
3.3 Java语言在Android程序中的使用
3.3.1 Interface的使用
3.3.2 abstract class的使用
3.3.3 Interface与Abstract class的区别
3.3.4 for循环的使用
3.3.5 Map类的使用
3.3.6 Integer与String之间的转换
3.3.7 synchronized同步关键字
3.3.8 new的使用
3.4 本章小结
第4章 Android生命周期
4.1 程序生命周期
4.2 Android组件
4.3 Activity生命周期
4.3.1 全生命周期
4.3.2 可视生命周期
4.3.3 活动生命周期
4.4 Activity启动模式
4.4.1 standard标准模式
4.4.2 singleTop
4.4.3 singleTask
4.4.4 singleInstance
4.5 程序调试
4.5.1 LogCat命令行工具
4.5.2 DevTools开发调试工具
4.6 本章小结
第5章 用户界面开发
5.1 用户界面基础
5.2 界面布局
5.2.1 线性布局(LinearLayout)
5.2.2 框架布局(FrameLayout)
5.2.3 表格布局(TableLayout)
5.2.4 相对布局(RelativeLayout)
5.2.5 绝对布局(AbsoluteLayout)
5.3 界面控件
5.3.1 TextView 和 EditText
5.3.2 Button 和 ImageButton
5.3.3 CheckBox 和 RadioButton
5.3.4 Spinner
5.3.5 ListView
5.3.6 TabHost
5.4 菜单
5.4.1 选项菜单
5.4.2 子菜单
5.4.3 上下文菜单(Context Menu)
5.5 界面事件
5.5.1 按键事件
5.5.2 触摸事件
5.6 自定义样式和主题
5.7 9Patch
5.8 本章小结
第6章 组件间通信
6.1 Intent对象及其属性
6.1.1 Intent的action属性
6.1.2 Intent的data属性
6.1.3 Intent的type属性
6.1.4 Intent的category属性
6.1.5 Intent的extras属性
6.1.6 Intent的ComponentName属性
6.2 系统标准ActivityAction应用
6.2.1 启动Activity
6.2.2 获取Activity返回值
6.3 Intent过滤器
6.3.1 注册Intent过滤器
6.3.2 Intent解析
6.4 广播消息
6.5 本章小结
第7章 数据存储与访问
7.1 简单存储
7.1.1 SharedPreferences
7.1.2 示例
7.2 文件存储
7.2.1 内部存储
7.2.2 外部存储
7.2.3 资源文件
7.3 数据库存储
7.3.1 SQLite简介
7.3.2 手动建立数据库
7.3.3 代码建库(SQLiteOpenHelper)
7.3.4 数据操作(SQLiteDatabase)
7.4 数据共享(ContentProviders)
7.4.1 创建ContentProvider
7.4.2 使用数据提供者
7.5 本章小结
第8章 多媒体开发
8.1 Android系统提供内置的媒体格式
8.2 在窗体布局上——VideoView
8.3 音频及视频播放——MediaPlayer
8.2.1 从源文件中播放
8.3.2 从文件系统中播放
8.3.3 从网络中播放
8.3.4 音频播放示例
8.3.5 视频播放示例
8.4 音/视频的录制
8.5 Camera照相
8.6 本章小结
第9章 定位与地图
9.1 位置服务
9.1.1 Android Location API
9.1.2 GPS定位步骤
9.2 Google地图应用
9.2.1 申请地图密钥
9.2.2 使用Google地图
9.2.3 使用Overlay
9.3 本章小结
第10章 Android中的图形图像
10.1 在Android中访问图片
10.1.1 使用图片文件创建Drawable对象
10.1.2 使用XML文件定义Drawable属性
10.1.3 Bitmap和BitmapFactory
10.2 Android中的动画
10.2.1 Tween动画
10.2.2 Frame动画
10.3 动态图形绘制
10.3.1 动态图形绘制类简介
10.3.2 动态图形绘制的基本思路
10.3.3 绘制几何图形
10.4 图形特效
10.4.1 使用Matrix实现旋转、缩放和平移
10.4.2 使用Shader类渲染图形
10.5 本章小结
第11章 Android NDK开发
11.1 Android NDK简介
11.2 NDK编译环境
11.3 NDK开发示例
11.4 本章小结
第12章 Android特色开发
12.1 App Widget
12.1.1 App Widget的生命周期
12.1.2 建立Android App Widget
12.2 传感器
12.2.1 Android中的传感器分类
12.2.2 Android中的传感器功能
12.3 本章小结
第13章 Android网络编程
13.1 Android网络通信基础
13.1.1 标准Java接口
13.1.2 Apache接口
13.1.3 Android网络接口
13.2 HTTP通信
13.2.1 HttpURLConnection接口
13.2.2 HttpClient接口
13.3 Socket通信
13.3.1 Socket传输模式
13.3.2 Socket编程原理
13.3.3 Socket编程实例
13.3.4 Socket与HTTP通信的区别
13.4 本章小结
第14章 Android应用开发流程
14.1 应用规划及架构设计
14.1.1 客户端功能点概述
14.1.2 服务器端功能点概述
14.2 实现UI
14.3 数据操作和存储
14.4 实现多页面跳转
14.5 实现各个模块逻辑处理
14.5.1 登录注册模块的实现
14.5.2 个人中心模块的实现
下篇 Android应用程序UI设计
附录A 知识点测评答案
章节摘录
版权页: 插图: 7.3数据库存储 在Android平台上,集成了一个嵌入式关系型数据库-SQLite。SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有5种,但实际上它也接受varchar(n)、char(n)、decimal(p,s)等数据类型,只不过在运算或保存时会转换成对应的5种数据类型。 7.3.1 SQLIte简介 SQLite是Android所带的一个标准的数据库,它是在2000年由D.Richard Hipp发布的支持SQL语句的轻量级的嵌入式数据库。SQLite数据库特点:更加适用于嵌入式系统,嵌入使用它的应用程序中;占用内存非常少,运行高效可靠,可移植性好;提供了零配置(zero—configuration)运行模式。SQLite数据库不仅提高了运行效率,而且屏蔽了数据库使用和管理的复杂性,程序仅需要进行最基本的数据操作,其他操作可以交给程序内部的数据库引擎完成。 SQLite数据库具有很强的移植性,可以运行在Windows、Linux、BSD、Mac OS X和一些商用UNIX系统,比如,Oracle的Solaris、IBM的AIX等;SQLite数据库也可以工作在许多嵌入式操作系统下,例如,QNX、VxWorks、Android、Symbian和WindowsPhone等。 SQLite的核心大约有3万行标准C语言代码,并且其源代码开放,代码中95%有较好的注释,加上其模块化的设计使这些代码更加易于理解。 SQLite数据库的模块化设计,由8个独立的模块构成,这些独立模块又构成了三个主要的子系统:编译器、核心模块及后端,模块将复杂的查询过程分解为细小的工作进行处理。 接口由SQLite C API组成,该API简单易用,无论是应用程序、脚本,还是库文件,最终都是通过接口与SQLite交互。 由图可以看出,编译器由分词器、分析器和代码生成器组成。分词器和分析器对SQL语句进行语法检查分析后,将SQL语句转化为对于底层来说能够更方便处理的分层的数据结构,这种分层的数据结构称为“语法树”,生成的语法树传递给代码生成器,由代码生成器进行处理,生成一种针对SQLite的汇编代码,该部分代码最后交与虚拟机执行。 SQLite数据库体系结构中最核心的部分便是虚拟机,也称为虚拟数据库引擎(VirtualDatabase Engine,VDBE)。与Java虚拟机相似,虚拟机用来解释执行字节代码。虚拟机的字节代码由128个操作码构成,这些操作码主要用于操作数据库,每一条指令都可以完成特定的数据库操作,或以特定的方式处理栈的内容。 后端由B—树、页缓存和操作系统接口构成。B—树的主要功能就是索引,它维护着各个页面之间的复杂关系,便于快速找到所需数据;页缓存主要就是通过操作系统接口在B—树和磁盘之间传递页面;B—树和页缓存共同对数据进行管理。
编辑推荐
《高等院校3G人才培养规划教材:Android应用程序开发与典型案例》是大学院校嵌入式技术专业、电子信息类其他专业的专业课程教材,也可供高等及中等职业技术院校使用。
图书封面
评论、评分、阅读与下载