热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点
图书信息

Android开发完全讲义(第二版)

中国水利水电出版社
    【作 者】李宁 编著 【I S B N 】978-7-5084-9465-4 【责任编辑】张玉玲 【适用读者群】科技 【出版时间】2012-04-27 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】656 【千字数】925 【印 张】41 【定 价】82 【丛 书】暂无分类 【备注信息】
图书详情

    国内覆盖面最广的Android开发指南,国内著名Android社区eoeandroid极力推荐。

    本书内容全面,详细讲解Android框架、Android用户接口、Android组件、Android的数据存储解决方案、Android的4种可跨平台通信的组件(Activity、Service、Broadcast和ContentProvider)、网络、绘图、多媒体、2D动画、OpenGL ES、资源、国际化、访问Android手机的硬件、实时壁纸、实时文件夹、NDK(利用C/C++开发可运行在Android上的应用程序)、脚本语言(Python、Lua、Perl等)、手势输入、文字语音转换(TTS)、蓝牙等技术,在本书的最后给出了两个完整的例子:“万年历”和“知道当前位置的Google GTalk机器人”。

    本书适合有一定的Java基础,想通过Android进入移动开发领域的读者;已经有一定的Android开发经验,想进一步提高Android的开发能力的读者;想将本书作为Android的参考手册,随时随地查阅的读者;对Android抱有浓厚兴趣的其他手机平台的开发人员;正在学习Android的在校大学生以及培训学校的学员。

    ● CSDN超人气博主、eoeandroid论坛版主、cnblogs著名博主 “银河使者”倾心编著

    ● 本书第1版受到数万开发人员喜爱,繁体版在台湾地区亦多次重印,众多开发人员称为Android国内“第1书”

    ● 国内最全面的Android开发技术参考手册,囊括了Android1.5至Android 4.x版本,适用于手机、平板电脑的应用开发

    ● 完美的实战环境,Step by Step地融合了超过200个实际案例

    ● 完整的综合应用案例,理论与实战无缝结合,精心剔除常见学习障碍,真正的易学易用

    ● 大量有价值的高品质代码,可直接用于实际项目开发

    第二版前言

    随着中国移动互联网3G时代的到来,很多抢眼的词汇也不断冲击着人们的眼球。3G、Android、Ophone、iPhone、iPad、iPod touch、Google、苹果、HTC、G1、G2、G3、Nexus S等词汇在各大网站的新闻和评论中频繁出现。出现这种情况的原因只有一个,那就是智能手机和移动互联网终于修成成果,成为完美的一对。

    智能手机虽然早在多年前就已出现,但那时的智能手机的功能主要是本地应用,这些手机以Nokia的Symbian系统为主。但随着移动互联网时代的到来,本地应用已远远无法满足用户的需求了。然而在创新为王的今天,新的技术总在不断地取代旧的技术。以创新闻名的Google为了进军移动广告市场,早在2005年,就开始研制新的移动操作系统,这也就是我们现在熟知的Android。经过2年多的研发,终于在2007年11月5日发布了Android的第一个版本:Android 1.0,而HTC(宏达电子)也在10个月后发布了世界上第一部装有Android系统的手机:G1。这也标志着Android正式成为移动操作系统大家族的成员,而且出身名门。

    自从Google在2007年推出Android以来。Android已经经历了4年多的发展。虽然Android的最初的两个版本(1.0和1.1)并不太稳定,也没有被大众接受。但从1.5开始,Android开始崭露头角,也开始进入了高速发展阶段。

    Android的第一个稳定而且功能较全面的版本是2.0。Google为了适应平板电脑,又单独推出了3.x。直到2011年底,Google为了统一手机和平板电脑,推出了Android 4.x。Android 4.x无论从稳定性还是从功能上都上了一个新台阶,完全可以和IOS抗衡。

    Android是Google进军移动领域最具杀伤力的武器之一。在此之前,苹果推出的iPhone在智能手机和移动互联网领域刮起了首轮风暴,并且赢得了数以百万计的忠实“粉丝”。而Android与iPhone不同。iPhone与苹果以往的产品相同,都是在封闭状态下发展的,而且限制太多。Android则在这方面有着绝对的优势,Android不仅免费,而且开源,并且Google没有限制使用什么语言或技术在Android上开发软件。这就意味着任何企业、组织和个人都可以使用Android系统,而且不需要付给Google一分钱。正是因为这一点,支持Android的终端厂商不断增加,这也使Android的市场占有率节节攀升。在2010年第1季度,Android在美国的占有率首次超过iPhone,成为占有率居第二位的移动操作系统。在2011年,Android手机的市场占有率已经全面超过iPhone,成为了智能手机系统中的翘楚。

    在与美国相隔万里的中国,Android也受到相当的关注和重用。国内不仅在短时间内涌现了大量的Android社区(中国移动开发者社区、eoeandroid等),而且很多运营商和企业也以Android为基础开发出了很多定制的移动操作系统。其中国内最早的定制Android系统就是中国移动和播思通讯联合开发的Ophone系统,也称为OMS。除此之外,还有联想的LePhone。联通和电信也在研发自己的定制Android系统。这些充分证明了Android在世界上的几个主要市场(中国、美国等)都已成为竞相追逐的梅花鹿,在可预期的未来,将会在全球范围内上演一场群雄逐鹿的大戏。

    既然Android无论在国内还是在国外都是如此的火爆、如此的重要,那么作为开发人员的我们是不是应该立刻开始学习Android呢?如果您以前阅读过本书的第一版,那么说明您已经给出了肯定的答案,而本书在第一版的基础上加入了Android 4.x的新技术,而且所有的示例都升级成了Android 4.x版本。如果您想了解新的Android 4.x技术,那么就不要等待,请继续阅读本书的精彩内容吧!

    参加本书部分章节编写工作的还有赵华振、李斌锋、邓斌、皮文星、闫芳、王玉芹、杨振珂、邓福金、刘素云、代锡恒、刘晓键、李新生、欧阳会、李礼华、石杰、何少亮、欧阳观、陆正武、王秀明、苏海建、苏胜男、胡中华、李风好、马永浩、郑国玉、王欣、李延彬、谢星星,在此表示感谢。

    编 者

    2012年3月

    第一版前言

    2009年对于中国的移动互联网领域是最重要的一年,因为这一年信息产业部向中国三大运营商(移动、联通、电信)发放了3G牌照。这就意味着中国移动互联网3G时代已经到来,因此,2009年也就成为了中国移动互联网3G时代的元年。

    随着中国移动互联网3G时代的到来,很多抢眼的词汇也不断冲击着人们的眼球。3G、Android、OPhone、iPhone、iPad、iPod touch、Google、苹果、HTC、G1、G2、G3等词汇在各大网站的新闻和评论中频繁出现。出现这种情况的原因只有一个,那就是智能手机和移动互联网终于修成成果,成为完美的一对。

    智能手机虽然早在多年前就已出现,但那时的智能手机的功能主要是本地应用,这些手机以Nokia的Symbian系统为主。但随着移动互联网时代的到来,本地应用已远远无法满足用户的需求了。然而在创新为王的今天,新的技术总在不断地取代旧的技术。以创新闻名的Google为了进军移动广告市场,早在2005年,就开始研制新的移动操作系统,这也就是我们现在熟知的Android。经过2年多的研发,终于在2007年11月5日发布了Android的第一个版本:Android 1.0,而HTC(宏达电子)也在10个月后发布了世界上第一部装有Android系统的手机:G1。这也标志着Android正式成为移动操作系统大家族的成员,而且出身名门。

    自从Android问世以来,不断有新的运营商、终端厂商、浏览器厂商、软件厂商等加入Android阵营,通过合作以及不断地创新,推出了大量基于Android的新产品,例如,Adobe公司已推出Android版的AIR和Flash 10,并且Google宣布在Android 2.2中将会全面支持Flash,这就意味着可以使用Flash来编写Android应用程序了。

    Android是Google进军移动领域最具杀伤力的武器之一。在此之前,苹果推出的iPhone在智能手机和移动互联网领域刮起了首轮风暴,并且赢得了数以百万计的忠实“粉丝”。而Android与iPhone不同。iPhone与苹果以往的产品相同,都是在封闭状态下发展的,而且限制太多。Android则在这方面有着绝对的优势,Android不仅免费,而且开源,并且Google没有限制使用什么语言或技术在Android上开发软件。这就意味着任何企业、组织和个人都可以使用Android系统,而且不需要付给Google一分钱。正是因为这一点,支持Android的终端厂商不断增加,这也使Android的市场占有率节节攀升。甚至在2010年第一季度,Android在美国的占有率首次超过iPhone,成为占有率居第二位的移动操作系统。

    在与美国相隔万里的中国,Android也受到相当的关注和重用。国内不仅在短时间内涌现了大量的Android社区(中国移动开发者社区、eoeandroid等),而且很多运营商和企业也以Android为基础开发出了很多定制的移动操作系统。其中国内最早的定制Android系统就是中国移动和播思通讯联合开发的OPhone系统,也称为OMS。除此之外,还有联想的LePhone。联通和电信也在研发自己的定制Android系统。这些充分证明了Android在世界上的几个主要市场(中国、美国等)都已成为竞相追逐的梅花鹿,在可预期的未来,将会在全球范围内上演一场群雄逐鹿的大戏。

    既然Android无论在国内还是在国外都是如此的火爆、如此的重要,那么作为开发人员的我们是不是应该立刻开始学习Android呢?如果您正在阅读本书的前言,那么说明您已经给出了肯定的答案,而本书正是打开Android神秘大门的钥匙。有了这把钥匙,就可以尽享Android中的宝藏。那么我们还等什么呢?Let’s go. 现在就让我们继续阅读本书的精彩内容,以获取更多的宝藏吧!

    参加本书部分章节编写工作的还有赵华振、李斌锋、邓斌、皮文星、闫芳、王玉芹、杨振珂、邓福金、刘素云、代锡恒、刘晓键、李新生、欧阳会、李礼华、石杰、何少亮、欧阳观、陆正武,在此表示感谢。

    编 者

    2010年5月

    第二版前言
    第一版前言
    如何使用本书的例子
    第一部分 准备篇——大军未动,粮草先行

    第1章 Android入门 2
    1.1 Android的基本概念 3
    1.1.1 Android简介 3
    1.1.2 Android的系统构架 5
    1.2 Android 2.3.x新功能介绍 6
    1.2.1 显示电池使用状况 6
    1.2.2 SIP网络电话 7
    1.2.3 近场通信(NFC) 7
    1.2.4 控制多个摄像头 8
    1.3 Android 3.x新功能介绍 8
    1.3.1 重新设计的UI 8
    1.3.2 系统状态条 9
    1.3.3 多任务管理 10
    1.3.4 多重桌面 11
    1.3.5 电子邮件(E-mail) 11
    1.3.6 联系人管理 12
    1.3.7 虚拟键盘与剪贴功能 12
    1.3.8 相机功能 13
    1.3.9 视频电话 13
    1.3.10 支持多核处理器 13
    1.4 Android开发环境的搭建 14
    1.4.1 开发Android程序需要些什么 14
    1.4.2 安装Android SDK 14
    1.4.3 安装Eclipse插件ADT 15
    1.4.4 测试ADT是否安装成功 16
    1.5 Android SDK中的常用命令行工具 18
    1.5.1 启动和关闭adb服务(adb start-server
    和adb kill-server) 18
    1.5.2 查询当前模拟器/设备的实例
    (adb devices) 18
    1.5.3 安装、卸载和运行程序(adb install、
    adb uninstall和am) 19
    1.5.4 PC与模拟器或真机交换文件(adb
    pull和adb push) 20
    1.5.5 Shell命令 20
    1.5.6 创建、删除和浏览AVD设备
    (android) 21
    1.5.7 获取Android版本对应的ID 21
    1.5.8 创建SD卡 22
    1.6 PC上的Android 22
    1.6.1 Android LiveCD 23
    1.6.2 AndroidX86 23
    1.7 Android的学习资源 24
    1.8 应用程序商店 24
    1.8.1 Android Market 24
    1.8.2 Mobile Market(MM) 25
    1.8.3 其他应用程序商店 26
    1.9 小结 26
    第2章 第一个Android程序 27
    2.1 编写用于显示当前日期和时间的程序 27
    2.1.1 新建一个Android工程 27
    2.1.2 界面控件的布局 29
    2.1.3 编写实际代码 29
    2.2 调试程序 32
    2.3 签名和发布应用程序 33
    2.3.1 使用命令行方式进行签名 33
    2.3.2 使用ADT插件方式进行签名 34
    2.4 DDMS透视图 36
    2.5 小结 36

    第二部分 基础篇——Android世界的精彩之旅

    第3章 Android应用程序架构 38
    3.1 Android应用程序中的资源 38
    3.1.1 资源存放在哪里 38
    3.1.2 资源的种类 39
    3.1.3 资源的基本使用方法 39
    3.2 Android的应用程序组件 41
    3.2.1 活动(Activity)组件 41
    3.2.2 服务(Service)组件 41
    3.2.3 广播接收者(Broadcast receivers)
    组件 42
    3.2.4 内容提供者(Content providers)
    组件 42
    3.3 AndroidManifest.xml文件的结构 42
    3.4 小结 44
    第4章 建立用户接口 45
    4.1 建立、配置和使用Activity 45
    4.1.1 建立和配置Activity 46
    4.1.2 Activity的生命周期 48
    4.1.3 Activity生命周期的演示 50
    4.2 视图(View) 53
    4.2.1 视图简介 53
    4.2.2 使用XML布局文件控制视图 54
    4.2.3 在代码中控制视图 55
    4.2.4 混合使用XML布局文件和代码
    来控制视图 57
    4.2.5 定制控件(Widget)的3种方式 60
    4.2.6 定制控件——带图像的TextView 60
    4.2.7 定制控件——带文本标签的EditText 64
    4.2.8 定制控件——可更换表盘的
    指针时钟 67
    4.3 使用AlertDialog类创建对话框 73
    4.3.1 AlertDialog类简介 73
    4.3.2 【确认/取消】对话框 74
    4.3.3 创建询问是否删除文件的
    【确认/取消】对话框 75
    4.3.4 带3个按钮的对话框 76
    4.3.5 创建【覆盖/忽略/取消】对话框 77
    4.3.6 简单列表对话框 78
    4.3.7 单选列表对话框 79
    4.3.8 多选列表对话框 80
    4.3.9 创建3种选择省份的列表对话框 80
    4.3.10 水平进度对话框和圆形进度对话框 86
    4.3.11 水平进度对话框和圆形进度
    对话框演示 87
    4.3.12 自定义对话框 90
    4.3.13 创建登录对话框 90
    4.3.14 用Activity托管对话框 93
    4.3.15 创建悬浮对话框和触摸任何位置
    都可以关闭的对话框 95
    4.4 Toast和Notification 98
    4.4.1 用Toast显示提示信息框 98
    4.4.2 阻止关闭Toast信息框 99
    4.4.3 Notification与状态栏信息 101
    4.5 菜单 103
    4.5.1 创建选项菜单 104
    4.5.2 设置与菜单项关联的图像和
    Activity 105
    4.5.3 响应选项菜单项单击事件的3种
    方式 105
    4.5.4 动态添加、修改和删除选项菜单 107
    4.5.5 创建带复选框和选项按钮的子菜单 108
    4.5.6 创建上下文菜单 109
    4.5.7 菜单事件 110
    4.5.8 Activity菜单、子菜单、上下文
    菜单演示 111
    4.6 布局 112
    4.6.1 框架布局(FrameLayout) 112
    4.6.2 霓虹灯效果的TextView 113
    4.6.3 线性布局(LinearLayout) 115
    4.6.4 利用LinearLayout将按钮放在屏幕
    的四角和中心位置 117
    4.6.5 相对布局(RelativeLayout) 119
    4.6.6 利用RelativeLayout实现梅花效果
    的布局 119
    4.6.7 表格布局(TableLayout) 120
    4.6.8 计算器按钮的布局 121
    4.6.9 绝对布局(AbsoluteLayout) 121
    4.6.10 查看apk文件中的布局 122
    4.7 小结 122
    第5章 控件详解 123
    5.1 显示和编辑文本的控件 124
    5.1.1 显示文本的控件:TextView 124
    5.1.2 在TextView中显示URL及不同
    字体大小、不同颜色的文本 127
    5.1.3 带边框的TextView 128
    5.1.4 设置TextView控件的行间距 131
    5.1.5 输入文本的控件:EditText 132
    5.1.6 在EditText中输入特定的字符 134
    5.1.7 按回车键显示EditText 135
    5.1.8 自动完成输入内容的控件:
    AutoCompleteTextView 137
    5.2 按钮与复选框控件 138
    5.2.1 普通按钮控件:Button 138
    5.2.2 异形(圆形、五角星、螺旋形
    和箭头)按钮 139
    5.2.3 图像按钮控件:ImageButton 141
    5.2.4 同时显示图像和文字的按钮 141
    5.2.5 选项按钮控件:RadioButton 143
    5.2.6 开关状态按钮控件:ToggleButton 143
    5.2.7 复选框控件:CheckBox 144
    5.2.8 利用XML布局文件动态创建
    CheckBox 144
    5.3 日期与时间控件 147
    5.3.1 输入日期的控件:DatePicker 147
    5.3.2 输入时间的控件:TimePicker 148
    5.3.3 DatePicker、TimePicker与TextView
    同步显示日期和时间 148
    5.3.4 显示时钟的控件:AnalogClock和
    DigitalClock 150
    5.4 进度条控件 150
    5.4.1 进度条控件:ProgressBar 150
    5.4.2 拖动条控件:SeekBar 152
    5.4.3 改变ProgressBar和SeekBar的颜色 154
    5.4.4 评分控件:RatingBar 155
    5.5 其他重要控件 156
    5.5.1 显示图像的控件:ImageView 157
    5.5.2 可显示图像指定区域的ImageView
    控件 158
    5.5.3 动态缩放和旋转图像 159
    5.5.4 列表控件:ListView 160
    5.5.5 可以单选和多选的ListView 163
    5.5.6 动态添加、删除ListView列表项 165
    5.5.7 改变ListView列表项选中状态的
    背景颜色 169
    5.5.8 封装ListView的Activity:
    ListActivity 169
    5.5.9 使用SimpleAdapter建立复杂的
    列表项 170
    5.5.10 给应用程序评分 172
    5.5.11 可展开的列表控件:
    ExpandableListView 175
    5.5.12 下拉列表控件:Spinner 178
    5.5.13 垂直滚动视图控件:ScrollView 179
    5.5.14 水平滚动视图控件:
    HorizontalScrollView 180
    5.5.15 可垂直和水平滚动的视图 181
    5.5.16 网格视图控件:GridView 181
    5.5.17 可循环显示和切换图像的控件:
    Gallery和ImageSwitcher 183
    5.5.18 标签控件:TabHost 186
    5.6 小结 187
    第6章 移动存储解决方案 188
    6.1 最简单的数据存储方式:
    SharedPreferences 188
    6.1.1 使用SharedPreferences存取数据 189
    6.1.2 数据的存储位置和格式 190
    6.1.3 存取复杂类型的数据 191
    6.1.4 设置数据文件的访问权限 194
    6.1.5 可以保存设置的Activity:
    PreferenceActivity 196
    6.2 文件的存储 199
    6.2.1 openFileOutput和openFileInput
    方法 199
    6.2.2 SD卡文件浏览器 201
    6.2.3 存取SD卡中的图像 205
    6.2.4 SAX引擎读取XML文件的原理 208
    6.2.5 将XML数据转换成Java对象 208
    6.3 SQLite数据库 212
    6.3.1 SQLite数据库管理工具 212
    6.3.2 创建数据库和表 213
    6.3.3 模糊查询 215
    6.3.4 分页显示记录 215
    6.3.5 事务 215
    6.4 在Android中使用SQLite数据库 216
    6.4.1 SQLiteOpenHelper类与自动
    升级数据库 216
    6.4.2 SimpleCursorAdapter类与数据绑定 217
    6.4.3 带照片的联系人管理系统 220
    6.4.4 将数据库与应用程序一起发布 224
    6.4.5 英文词典 225
    6.5 持久化数据库引擎(db4o) 229
    6.5.1 什么是db4o 229
    6.5.2 下载和安装db4o 230
    6.5.3 创建和打开数据库 230
    6.5.4 向数据库中插入Java对象 230
    6.5.5 从数据库中查询Java对象 232
    6.5.6 高级数据查询 232
    6.5.7 更新数据库中的Java对象 233
    6.5.8 删除数据库中的Java对象 233
    6.6 小结 233
    第7章 应用程序之间的通信 234
    7.1 Intent与Activity 234
    7.1.1 用Intent启动Activity,并在Activity
    之间传递数据 235
    7.1.2 调用其他应用程序中的Activity(拨打
    电话、浏览网页、发E-mail等) 238
    7.1.3 定制自己的Activity Action 243
    7.1.4 将电子词典的查询功能共享成一个
    Activity Action 245
    7.2 接收和发送广播 247
    7.2.1 接收系统广播 247
    7.2.2 开机可自动运行的程序 248
    7.2.3 收到短信了,该做点什么 249
    7.2.4 显示手机电池的当前电量 251
    7.2.5 在自己的应用程序中发送广播 252
    7.2.6 接收联系人系统中发送的添加
    联系人广播 253
    7.3 小结 255
    第8章 Android服务 256
    8.1 Service起步 256
    8.1.1 Service的生命周期 257
    8.1.2 绑定Activity和Service 259
    8.1.3 在BroadcastReceiver中启动
    Service 262
    8.2 系统服务 264
    8.2.1 获得系统服务 264
    8.2.2 监听手机来电 265
    8.2.3 来电黑名单 267
    8.2.4 在模拟器上模拟重力感应 267
    8.2.5 手机翻转静音 270
    8.3 时间服务 272
    8.3.1 计时器:Chronometer 272
    8.3.2 预约时间:Handler 275
    8.3.3 定时器:Timer 276
    8.3.4 在线程中更新GUI组件 278
    8.3.5 全局定时器:AlarmManager 280
    8.3.6 定时更换壁纸 281
    8.3.7 多次定时提醒 284
    8.4 跨进程访问(AIDL服务) 287
    8.4.1 什么是AIDL服务 288
    8.4.2 建立AIDL服务的步骤 288
    8.4.3 建立AIDL服务 288
    8.4.4 传递复杂数据的AIDL服务 292
    8.5 小结 298
    第9章 网络 299
    9.1 可装载网络数据的控件 300
    9.1.1 装载网络数据的原理 300
    9.1.2 将网络图像装载到ListView
    控件中 300
    9.1.3 Google图像画廊(Gallery) 304
    9.2 WebView控件 309
    9.2.1 用WebView控件浏览网页 309
    9.2.2 手机浏览器 309
    9.2.3 用WebView控件装载HTML代码 311
    9.2.4 将英文词典整合到Web页中
    (JavaScript调用Java方法) 312
    9.3 访问HTTP资源 315
    9.3.1 提交HTTP GET和HTTP POST
    请求 315
    9.3.2 HttpURLConnection类 317
    9.3.3 上传文件 318
    9.3.4 远程Apk安装器 322
    9.3.5 调用WebService 323
    9.3.6 通过WebService查询产品信息 325
    9.4 Internet地址 329
    9.4.1 Internet地址概述 329
    9.4.2 创建InetAddress对象 331
    9.4.3 判断IP地址类型 333
    9.5 客户端Socket 335
    9.5.1 Socket类基础 335
    9.5.2 多种连接服务端的方式 337
    9.5.3 客户端Socket的超时 339
    9.5.4 Socket类的getter和setter方法 339
    9.5.5 Socket的异常 346
    9.6 服务端Socket 347
    9.6.1 创建ServerSocket对象 347
    9.6.2 设置请求队列的长度 348
    9.6.3 绑定IP地址 349
    9.6.4 默认构造方法的使用 349
    9.6.5 读取和发送数据 350
    9.6.6 关闭连接 351
    9.7 小结 352
    第10章 多媒体 353
    10.1 图形 353
    10.1.1 图形绘制基础 354
    10.1.2 绘制基本的图形和文本 356
    10.1.3 绘制位图 360
    10.1.4 用两种方式绘制位图 361
    10.1.5 设置颜色的透明度 362
    10.1.6 可任意改变透明度的位图 363
    10.1.7 旋转图像 365
    10.1.8 旋转动画 365
    10.1.9 扭曲图像 367
    10.1.10 按圆形轨迹扭曲图像 367
    10.1.11 拉伸图像 371
    10.1.12 拉伸图像演示 372
    10.1.13 路径 374
    10.1.14 沿着路径绘制文本 378
    10.1.15 可在图像上绘制图形的画板 381
    10.2 音频和视频 387
    10.2.1 使用MediaPlayer播放MP3文件 387
    10.2.2 使用MediaRecorder录音 388
    10.2.3 使用VideoView播放视频 389
    10.2.4 使用SurfaceView播放视频 390
    10.3 小结 391

    第三部分 进阶篇——深入Android世界的腹地

    第11章 2D动画 393
    11.1 帧(Frame)动画 393
    11.1.1 AnimationDrawable与帧动画 394
    11.1.2 通过帧动画方式播放Gif动画 395
    11.1.3 播放帧动画的子集 399
    11.2 补间(Tween)动画 402
    11.2.1 移动补间动画 402
    11.2.2 循环向右移动的EditText与上下
    弹跳的球 404
    11.2.3 缩放补间动画 406
    11.2.4 跳动的心 407
    11.2.5 旋转补间动画 409
    11.2.6 旋转的星系 410
    11.2.7 透明度补间动画 411
    11.2.8 投掷炸弹 412
    11.2.9 振动效果 415
    11.2.10 自定义动画渲染器(Interceptor) 416
    11.2.11 以动画方式切换View的控件
    ViewFlipper 417
    11.3 小结 420
    第12章 OpenGL ES编程 421
    12.1 OpenGL ES简介 421
    12.2 在3D空间中绘图 423
    12.2.1 要绘制3D图形了,第一步要
    做什么 423
    12.2.2 定义顶点 426
    12.2.3 绘制三角形 427
    12.2.4 三角形合并法绘制矩形 429
    12.2.5 顶点法绘制矩形 432
    12.2.6 顶点的选取顺序 433
    12.2.7 索引法绘制矩形 434
    12.2.8 基于OpenGL ES的动画原理 435
    12.2.9 旋转的矩形 436
    12.3 视图 437
    12.3.1 有趣的比喻:照相机拍照 438
    12.3.2 模型变换:立方体旋转 440
    12.3.3 用gluLookAt方法变换视图 444
    12.4 颜色 445
    12.5 小结 448
    第13章 资源、国际化与自适应 449
    13.1 Android中的资源 450
    13.1.1 Android怎么存储资源 450
    13.1.2 资源的种类 450
    13.1.3 资源文件的命名 451
    13.2 定义和使用资源 451
    13.2.1 使用系统资源 452
    13.2.2 字符串(String)资源 453
    13.2.3 数组(Array)资源 455
    13.2.4 颜色(Color)资源 457
    13.2.5 尺寸(Dimension)资源 459
    13.2.6 类型(Style)资源 461
    13.2.7 主题(Theme)资源 462
    13.2.8 绘画(Drawable)资源 463
    13.2.9 动画(Animation)资源 465
    13.2.10 菜单(Menu)资源 465
    13.2.11 布局(Layout)资源 468
    13.2.12 属性(Attribute)资源 469
    13.2.13 改进可显示图标的IconTextView
    控件 471
    13.2.14 XML资源 473
    13.2.15 RAW资源 474
    13.2.16 ASSETS资源 475
    13.3 国际化和资源自适应 476
    13.3.1 对资源进行国际化 476
    13.3.2 Locale与国际化 478
    13.3.3 常用的资源配置 478
    13.4 小结 480
    第14章 访问Android手机的硬件 481
    14.1 在手机上测试硬件 481
    14.1.1 安装Android USB驱动 482
    14.1.2 在手机上测试程序 483
    14.1.3 在手机上调试程序 484
    14.2 录音 485
    14.3 控制手机摄像头(拍照) 486
    14.3.1 调用系统的拍照功能 486
    14.3.2 实现自己的拍照Activity 488
    14.4 传感器在手机中的应用 494
    14.4.1 在应用程序中使用传感器 494
    14.4.2 电子罗盘 496
    14.4.3 计步器 497
    14.5 GPS与地图定位 499
    14.5.1 Google地图 499
    14.5.2 用GPS定位到当前位置 503
    14.6 WIFI 505
    14.7 小结 507
    第15章 放在桌面上的小玩意 508
    15.1 窗口小部件(App Widget) 508
    15.1.1 在Android桌面上添加App
    Widget 509
    15.1.2 开发App Widget的步骤 509
    15.1.3 数字时钟 512
    15.1.4 AppWidgetProvider类 515
    15.1.5 向App Widget添加配置Activity 515
    15.1.6 可以选择风格的数字时钟 516
    15.2 快捷方式 521
    15.2.1 向快捷方式列表中添加快捷方式 521
    15.2.2 直接将快捷方式放到桌面上 522
    15.3 实时文件夹(LiveFolder) 523
    15.4 小结 524
    第16章 NDK编程 525
    16.1 Android NDK简介 525
    16.2 安装、配置和测试NDK开发环境 526
    16.2.1 系统和软件要求 526
    16.2.2 下载和安装Android NDK 527
    16.2.3 下载和安装Cygwin 527
    16.2.4 配置Android NDK的开发环境 531
    16.2.5 编译和运行NDK自带的例子 532
    16.3 Android NDK开发 533
    16.3.1 JNI接口设计 534
    16.3.2 编写Android NDK程序的步骤 535
    16.3.3 将文件中的小写字母转换成大写
    字母(NDK版本) 535
    16.3.4 配置Android.mk文件 538
    16.3.5 Android NDK定义的变量 539
    16.3.6 Android NDK定义的函数 540
    16.3.7 描述模块的变量 541
    16.3.8 配置Application.mk文件 542
    16.4 小结 543
    第17章 整合Android与脚本语言 544
    17.1 Android脚本环境简介 544
    17.2 Android脚本环境安装 545
    17.3 编写和运行Android脚本 547
    17.4 小结 549
    第18章 蓝牙技术 550
    18.1 蓝牙简介 550
    18.2 打开和关闭蓝牙设备 551
    18.3 搜索蓝牙设备 552
    18.4 蓝牙数据传输 555
    18.5 蓝牙通讯一定需要UUID吗 558
    18.6 小结 559
    第19章 有趣的Android技术 560
    19.1 手势(Gesture) 560
    19.1.1 创建手势文件 561
    19.1.2 通过手势输入字符串 561
    19.1.3 通过手势调用程序 563
    19.1.4 编写自己的手势创建器 565
    19.2 让手机说话(TTS) 567
    19.3 动态壁纸 568
    19.4 小结 577

    第四部分 综合实例篇——实践是检验真理的唯一标准

    第20章 万年历 579
    20.1 主界面设计与实现 579
    20.1.1 万年历的核心类:Calendar 580
    20.1.2 日历内容元素的基类:
    CalendarParent 581
    20.1.3 绘制万年历边框:Border类 582
    20.1.4 绘制周名称:Week类 583
    20.1.5 绘制日期和网格:Grid类 584
    20.1.6 日历视图:CalendarView类 592
    20.1.7 生成万年历的主界面 596
    20.2 选项菜单功能 596
    20.2.1 切换到今天的日期 596
    20.2.2 指定日期 597
    20.3 可以写日记和提醒的万年历 599
    20.3.1 显示所有的记录信息:
    AllRecord类 599
    20.3.2 添加和修改记录:Record类 601
    20.3.3 设置提醒时间 603
    20.3.4 启动服务 604
    20.3.5 在广播接收器中显示提醒界面 605
    20.3.6 访问数据库:DBService 607
    20.4 小结 611
    第21章 知道当前位置的Google GTalk
    机器人 612
    21.1 GTalk的通讯协议和技术 612
    21.1.1 Jabber和XMPP 612
    21.1.2 XMPP客户端库:Smack和
    Asmack 613
    21.2 登录GTalk:Login类 614
    21.3 联系人信息 616
    21.3.1 显示联系人列表 616
    21.3.2 监听联系人是否上线 618
    21.4 联系人之间的通讯 620
    21.4.1 发送聊天信息 621
    21.4.2 接收聊天信息 622
    21.4.3 自动回复当前的位置
    (GPS定位) 625
    21.5 小结 627
    第22章 Android 4.x支持的新技术 628
    22.1 Android 4.x的10大特性 628
    22.2 子窗口:Fragments 629
    22.2.1 Fragments的设计原理 630
    22.2.2 创建Fragment 630
    22.2.3 建立一个用户界面 632
    22.2.4 将Fragment添加到Activity中 633
    22.2.5 处理Fragment事务 634
    22.3.6 与Activity通信 635
    22.3 动作栏:Action Bar 637
    22.3.1 添加Action Bar 637
    22.3.2 移除Action Bar 637
    22.3.3 添加Action Item 638
    22.3.4 将应用图标用作菜单项目 639
    22.4 小结 639

最新评论共有 3 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册