首页>参考读物>计算机科学与技术>综合

Android应用开发揭秘
作者 : 杨丰盛 著
出版日期 : 2009-12-29
ISBN : 978-7-111-29195-4
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 525
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书内容全面、循序渐进、深入浅出,实战性强,权威性毋庸置疑!全书一共分为5个部分:第一部分是准备篇,对Android开发的相关概念极其开发环境做了简要的介绍;第二部分是基础篇,讲解了Android开发的相关知识,涵盖了Android开发的方方面面;第三部分是实例篇,以迭代的方式阐述了几种有代表性的Android应用的开发;第四部分是高级篇,介绍了游戏引擎的设计和Android应用开发方面的知识;第五部分是扩展篇,讲解了如何利用C、C++开发Android应用,以及Android对Python、Ruby、Lua等脚本语言的支持。
本书不仅会是中初级读者的首选,有经验的高级开发者也会从中受益匪浅。


您可以通过以下方式下载源代码:
http://www.china-pub.com/196305
打开该网页,往下翻屏,至“相关资源”栏内,有“本书代码下载”,点击即可!

图书特色

Windows操作系统的诞生成就了微软的霸主地位,也造就了PC时代的繁荣。然而,以Android和iPhone手机为代表的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G时代)已经来临,谁会成为这些移动设备上的主宰?毫无疑问,它就是Android——PC时代的Windows!
移动互联网还是一个新生的婴儿,各种移动设备上的操作系统群雄争霸!与Symbian、iPhone OS、Windows Mobile相比,Android有着天生的优势——完全开放和免费,对广大开发者和手机厂商而言,这是何等的诱人!此外,在Google和以其为首的Android手机联盟的大力支持和推广下,Android不仅得到了全球开发者社区的关注,而且一大批世界一流的手机厂商都已经或准备采用Android。
拥抱Android开发,拥抱移动开发的未来!

Android开发与传统的J2ME开发有何相似与不同?
如何通过Shared Preferences、Files、Network和SQLite等方式高效实现Android数据的存储?又如何通过Content Providers轻松地实现Android数据的共享?
如何使用Open Core、MediaPlayer、MediaRecorder方便快速地开发出包含音频和视频等流媒体的丰富多媒体应用?
如何利用Android 2.0中新增的蓝牙特性开发包含蓝牙功能的应用?又如何使用蓝牙API来完善应用的网络功能?
如何解决Android网络通信中的乱码问题?
在Android中如何使用语音服务和 Google Map API?Android如何访问摄像头、传感器等硬件的API?
如何进行Widget开发?如何用各种Android组件来打造漂亮的UI界面?
Android如何解析XML数据?又如何提高解析速度和减少对内存、CPU资源的消耗?
如何使用OpenGL ES在Android平台上开发出绚丽的3D应用?在Android平台上如何更好地设计和实现游戏引擎?
如何对Android应用进行优化?如何进行程序性能测试?如何实现UI、zipalign和图片优化?
如何通过NDK利用C、C++以及通过ASE利用Python等脚本语言开发Android应用?
……
杨丰盛 Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年获得中国软件行业协会游戏软件分会(CGIA)认证及国际游戏开发教育联合会国际认证。曾经领导和参与《三国群英传说》、《大航海传奇》、《美少女养成计划》等经典游戏的开发。

图书前言

3G牌照在国内发放后,3G、Andriod、iPhone、Google、苹果、手机软件、移动开发等词越来越充斥于耳。随着3G网络的大规模建设和智能手机的迅速普及,移动互联网时代已经微笑着迎面而来。
  以创新的搜索引擎技术而一跃成为互联网巨头的Google,无线搜索成为Google进军移动互联网的一块基石。早在2007年,Google中国就把无线搜索当作战略重心,不断推出新产品,尝试通过户外媒体推广移动搜索产品,并积极与运营商、终端厂商、浏览器厂商等达成战略合作。
  Android操作系统是Google最具杀伤力的武器之一。苹果以其天才的创新,使得iPhone在全球迅速拥有了数百万忠实“粉丝”,而Android作为第一个完整、开放、免费的手机平台,使开发者在为其开发程序时拥有更大的自由。与Windows Mobile、Symbian等厂商不同的是,Android操作系统免费向开发人员提供,这样可节省近三成成本,得到了众多厂商与开发者的拥护。最早进入Andriod市场的宏达电已经陆续在一年内推出了G1、Magic、Hero、Tattoo等4款手机,三星也在近期推出了Galaxyi7500,连摩托罗拉也推出了新款Andorid手机Cliq,中国移动也以Android为基础开发了Ophone平台。这些发展证明Android已经成为智能手机市场的重要发展趋势。
  从技术角度而言,Android与iPhone相似,采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查收电子邮件、搜索网址和观看视频节目等。Android手机比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入了全部Web应用的平台。Android的版本包括Android 1.1、Android 1.5、Android 1.6,Android 2.0刚发布不久。随着版本的更新,从最初的触屏到现在的多点触摸,从普通的联系人到现在的数据同步,从简单的Google Map到现在的导航系统,从基本的网页浏览到现在的HTML 5,这都说明Android已经逐渐稳定,而且功能越来越强大。此外,Android平台不仅支持Java、C、C++等主流的编程语言,还支持Ruby、Python等脚本语言,甚至Google专为Android的应用开发推出了Simple语言,这使得Android有着非常广泛的开发群体。
  我们都知道,无论是产品还是技术,商业应用是它最大的发展动力。Android如此受厂商与开发者的青睐,它的前景一片光明。伴随着装有Android操作系统的移动设备的增加,基于Android的应用需求势必也会增加。Android作为新的平台、新的技术,国内目前介绍其技术的书籍甚少,不能满足各个层次的开发者,为了帮助众多开发人员和爱好者进入移动互联网领域,并提高程序开发水平,笔者写作了本书。
本书面向的读者
  阅读本书的唯一条件是具有一定的Java基础,当然扩展篇可能会涉及C、C++和脚本语言的知识。
  本书面向的读者群包括毫无Android开发经验的初学者,以及有一定的Android开发经验但缺乏系统学习的开发人员。
如何阅读本书
  本书从基础入手,循序渐进地讲述了Android的主要功能和用法,使读者对其有完整的认识,掌握其结构框架。同时,从实战的角度出发,通过大量的示例程序,让读者边学习边实践,更深刻地理解Android系统的优点所在。
  另外本书为每个功能和知识点都提供了一个示例程序,可操作性极强,建议在阅读书本书的同时,一定要结合本书所附带的示例程序(完整的示例程序源代码可登录机工新阅读网站(www.cmpreading.com)下载)。本书所附的示例程序都是基于最新的Android 2.0 的SDK,源代码目录结构如图1所示,章节中每一个示例,都可以根据所在的章节及所指定的项目名称在所附源代码中找到对应的项目文件夹。每个项目文件夹都按如图2所示的目录结构来存放项目所需的所有源文件。
  在安装了Android开发环境之后,可以直接将Android项目导入到Eclipse中,步骤如下:
  首先,启动Eclipse,选择“File"→“Import..."菜单,展开“General”项,选择“Existing Projects into Workspace”导入项目到工作区,如图3所示。

图3 导入项目到工作区
  然后,点击“Next”按钮,进入选择项目文件目录,如图4所示,选择好项目目录后,点击“Finish”按钮,等待导入完成即可。如果需要将项目文件一起拷贝到工作区,就需要在图4的界面上选择“Copy projects into workspace”复选框。


图4 选择项目文件
致谢
  感谢所有在本书写作过程中给予我指导、帮助和鼓励的朋友,尤其是本书的策划编辑杨福川,他不仅对本书提出了宝贵的写作建议,而且还和他的同事曾珊对书稿进行了仔细的审阅。
  感谢一直以来信任、鼓励、支持我的父母和亲人。
  最后还要感谢我的女友,正是她的爱与支持,才使我有了今天的收获。
  虽然我们热切地希望与广大读者朋友分享使用Android平台的应用开发经验,但由于时间有限,书中难免存在疏漏与错误,诚恳地希望各位读者批评、指正。如果你发现书中有任何问题,抑或是想和本书的作者和读者交流关于Android开发中的相关话题,你可以申请加入华章俱乐部一,这里不仅有技术专家,还有很多志同道合的朋友,大家共同进步吧!

上架指导

计算机\程序设计

封底文字

Windows操作系统的诞生成就了微软在软件行业的霸主地位,也造就了PC时代的繁荣。然而,以iPhone和Android手机为代表的智能移动设备的发明却敲响了PC时代的丧钟!以智能手机等移动设备为依托的移动互联网时代(3G时代)已经来临,谁会成为这些移动设备的主宰?毫无疑问,它就是Android——PC时代的Windows!
移动互联网还是一个新生的婴儿,各种移动设备上的操作系统目前还处于诸侯争霸的时代。与Symbian、iPhone OS、Windows Mobile相比,Android有着天生的优势——完全开放和免费,对广大开发者和手机厂商而言,这是何等的诱人!此外,在Google和以其为首的Android手机联盟的大力支持和推广下,Android不仅得到了全球开发者社区的关注,而且一大批世界一流的手机厂商都已经或准备采用Android。
拥抱Android开发,拥抱移动开发的未来!
如果你也在思考下面这些问题,也许本书就是你想要的!
(1)Android应用开发与传统的J2ME开发有何相似之处与不同?
(2)如何用各种Android组件来打造漂亮的UI界面?
(3)如何通过Shared Preferences、Files、Network和SQLite等方式高效实现Android数据的存储?又如何通过Content Providers轻松地实现Android数据的共享?
(4)如何使用Open Core、MediaPlayer、MediaRecorder方便快速地开发出包含音频和视频等流媒体的丰富多媒体应用?
(5)利用Android 2.0中新增的蓝牙功能在Android平台上开发包含蓝牙功能的应用?如何使用蓝牙API来完善应用的网络功能?
(6)如何使用WebView加载HTML以及扩展JavaScript API?如何解决Android网络通信中的乱码问题?如何利用Service将应用程序放到后台执行?
(7)在Android中如何使用语音服务和 Google Map API?又如何进行Widget开发?
(8)Android如何访问摄像头、传感器等硬件的API?
(9)Android如何解析XML数据?又如何提高解析速度和减少对内存、CPU资源的消耗?
(10)如何使用OpenGL ES在Android平台上开发出绚丽的3D应用?
(11)在Android平台上如何更好地设计和实现游戏引擎?有哪些注意事项?
(12)如何对Android应用进行优化?如何进行程序性能测试?如何实现UI、zipalign和图片优化?
(13)如何通过NDK利用C\C++以及通过ASE利用Python等脚本语言开发Android应用?
······
杨丰盛 Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年荣获中国软件行业协会游戏软件分会(CGIA)认证及国际游戏开发教育联合会国际认证。曾经领导和参与过《三国群英传说》、《大航海传奇》、《养成计划》等经典游戏的开发。

作者简介

杨丰盛 著:国内Android开发的先驱者,对Android开发优势深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。曾经参与过《三国群英传说》、《大航海传奇》、《养成计划》等游戏的开发,2007年荣获中国软件行业协会游戏软件分会(CGIA)认证及国际游戏开发教育联合会国际认证。

图书目录

前 言
第一部分 准备篇
第1章 Android开发简介 2
1.1 Android基本概念 2
1.1.1 Android简介 2
1.1.2 Android的系统构架 5
1.1.3 Android应用程序框架 7
1.2 OMS介绍 8
1.2.1 OPhone介绍 8
1.2.2 Widget介绍 9
1.3 小结 9
第2章 Android开发环境搭建 11
2.1 Android开发准备工作 11
2.2 开发包及其工具的安装和配置 11
2.2.1 安装JDK和配置Java开发环境 11
2.2.2 Eclipse的安装与汉化 12
2.2.3 SDK和ADT的安装和配置 14
2.3 创建第一个Android项目——HelloAndroid 16
2.3.1 创建HelloAndroid项目 16
2.3.2 运行HelloAndroid及模拟器的使用 18
2.3.3 调试HelloAndroid 22
2.4 小结 25
第二部分 基础篇
第3章 Android程序设计基础 28
3.1 Android程序框架 28
3.1.1 Android项目目录结构 28
3.1.2 Android应用解析 32
3.2 Android的生命周期 37
3.3 Android程序UI设计 41
3.4 小结 42
第4章 用户界面开发 44
4.1 用户界面开发详解 44
4.1.1 用户界面简介 44
4.1.2 事件处理 45
4.2 常用控件应用 49
4.2.1 文本框(TextView) 49
4.2.2 列表(ListView) 50
4.2.3 提示(Toast) 53
4.2.4 编辑框(EditText) 55
4.2.5 单项选择(RadioGroup、RadioButton) 56
4.2.6 多项选择(CheckBox) 59
4.2.7 下拉列表(Spinner) 62
4.2.8 自动提示(AutoComplete-TextView) 64
4.2.9 日期和时间(DatePicker、TimePicker) 65
4.2.10 按钮(Button) 68
4.2.11 菜单(Menu) 70
4.2.12 对话框(Dialog) 72
4.2.13 图片视图(ImageView) 75
4.2.14 带图标的按钮(ImageButton) 78
4.2.15 拖动效果(Gallery) 81
4.2.16 切换图片(ImageSwitcher) 83
4.2.17 网格视图(GridView) 86
4.2.18 卷轴视图(ScrollView) 87
4.2.19 进度条(ProgressBar ) 90
4.2.20 拖动条(SeekBar) 93
4.2.21 状态栏提示(Notification、NotificationManager) 95
4.2.22 对话框中的进度条(ProgressDialog) 97
4.3 界面布局 100
4.3.1 垂直线性布局 101
4.3.2 水平线性布局 102
4.3.3 相对布局(RelativeLayout) 103
4.3.4 表单布局(TableLayout) 104
4.3.5 切换卡(TabWidget) 106
4.4 小结 109
第5章 Android游戏开发 110
5.1 Android游戏开发框架 110
5.1.1 View类开发框架 110
5.1.2 SurfaceView类开发框架 114
5.2 Graphics类开发 117
5.2.1 Paint和Color类介绍 117
5.2.2 Canvas类介绍 120
5.2.3 几何图形绘制 122
5.2.4 字符串绘制 125
5.2.5 图像绘制 126
5.2.6 图像旋转 129
5.2.7 图像缩放 131
5.2.8 图像像素操作 134
5.2.9 Shader类介绍 137
5.2.10 双缓冲技术 140
5.2.11 全屏显示 142
5.2.12 获得屏幕属性 142
5.3 动画实现 144
5.3.1 Tween 动画 144
5.3.2 Frame 动画 149
5.3.3 GIF动画播放 153
5.4 小结 155
第6章 Android数据存储 156
6.1 Android数据存储初探 156
6.2 数据存储之Shared Preferences 157
6.3 数据存储之Files 159
6.4 数据存储之Network 162
6.5 Android数据库编程 165
6.5.1 SQLite简介 166
6.5.2 SQLite编程详解 166
6.5.3 SQLiteOpenHelper应用 172
6.6 数据共享(Content Providers) 177
6.7 小结 187
第7章 多媒体开发 188
7.1 多媒体开发详解 188
7.1.1 Open Core 188
7.1.2 MediaPlayer 190
7.1.3 MediaRecorder 192
7.2 播放音乐 194
7.3 播放视频 201
7.4 录制歌曲 204
7.5 相机设置 208
7.6 闹钟设置 211
7.7 铃声设置 214
7.8 小结 219
第8章 网络与通信 220
8.1 网络通信基础 220
8.1.1 无线网络技术 220
8.1.2 Android网络基础 222
8.2 HTTP通信 225
8.2.1 HttpURLConnection接口 225
8.2.2 HttpClient接口 232
8.2.3 实时更新 235
8.3 Socket通信 238
8.3.1 Socket 基础 239
8.3.2 Socket 应用(简易聊天室) 244
8.4 网络通信的中文乱码问题 249
8.5 WebKit应用 250
8.5.1 WebKit概述 251
8.5.2 WebView浏览网页 252
8.5.3 WebView与Javascript 259
8.6 WiFi介绍 261
8.7 蓝牙 266
8.8 小结 276
第9章 Android特色开发 277
9.1 传感器 277
9.2 语音识别 280
9.3 Google Map 283
9.3.1 Google Map概述 283
9.3.2 准备工作 285
9.3.3 Google Map API的使用 287
9.3.4 定位系统 291
9.4 桌面组件 297
9.4.1 快捷方式 297
9.4.2 实时文件夹 299
9.4.3 Widget开发 301
9.5 账户管理 305
9.6 小结 309
第三部分 实例篇
第10章 Android应用开发实例 312
10.1 情境模式 312
10.2 文件管理器 317
10.3 通讯录 323
10.4 音乐播放器 330
10.5 天气预报 334
10.6 个人地图 342
10.7 Widget日历 345
10.8 小结 348
第11章 Android游戏开发实例 349
11.1 手机游戏开发简介 349
11.2 游戏框架设计 351
11.3 地图设计 356
11.4 主角设计 358
11.5 图层管理器 363
11.6 游戏音效 367
11.7 游戏存档 369
11.8 小结 372
第四部分 高级篇
第12章 Android OpenGL开发基础 374
12.1 OpenGL简介 374
12.2 多边形 378
12.3 颜色 380
12.4 旋转 381
12.5 3D空间 382
12.6 纹理映射 384
12.7 光照和事件 386
12.8 混合 388
12.9 小结 390
第13章 Android OpenGL综合应用 391
13.1 移动图像 391
13.2 3D世界 394
13.3 飘动的旗帜 398
13.4 显示列表 400
13.5 雾 402
13.6 粒子系统 403
13.7 蒙版 407
13.8 变形 411
13.9 小结 415
第14章 游戏引擎实现 416
14.1 游戏引擎介绍 416
14.1.1 什么是引擎 416
14.1.2 引擎的进化 417
14.1.3 常见的游戏引擎 417
14.1.4 Android游戏引擎 418
14.2 游戏引擎结构 418
14.2.1 游戏引擎原理 418
14.2.2 游戏引擎定位 419
14.2.3 游戏引擎框架 420
14.3 游戏引擎设计 420
14.3.1 游戏引擎结构和功能设计 420
14.3.2 游戏引擎设计注意事项 421
14.4 游戏引擎实现 422
14.4.1 Activity类实现 422
14.4.2 流程控制和线程 424
14.4.3 游戏对象与对象管理 427
14.4.4 图形引擎 428
14.4.5 物理引擎 441
14.4.6 事件模块 443
14.4.7 工具模块 445
14.4.8 脚本引擎、音效模块网络模块 446
14.5 小结 450
第15章 优化技术 451
15.1 优化的基本知识 451
15.1.1 如何书写出优秀代码 451
15.1.2 编程规范 452
15.2 程序性能测试 454
15.2.1 计算性能测试 455
15.2.2 内存消耗测试 457
15.3 初级优化 459
15.4 高级优化 465
15.5 Android高效开发 468
15.6 Android UI优化 474
15.7 其他优化 480
15.7.1 zipalign 480
15.7.2 图片优化 481
15.8 小结 482
第五部分 扩展篇
第16章 Android NDK开发 484
16.1 Android NDK简介 484
16.2 安装和配置NDK开发环境 485
16.2.1 系统和软件需求 486
16.2.2 NDK开发环境搭建 487
16.2.3 编译第一个NDK程序 492
16.3 Android NDK开发 493
16.3.1 JNI接口设计 493
16.3.2 使用C\C++实现本地方法 496
16.3.3 Android.mk实现 498
16.3.4 Application.mk实现 501
16.3.5 编译C\C++代码 502
16.4 Android NDK中使用OpenGL 503
16.5 小结 506
第17章 Android脚本环境 507
17.1 Android脚本环境简介 507
17.2 Android脚本环境安装 508
17.3 如何编写Android脚本程序 511
17.4 小结 515

教学资源推荐
作者: 郑人杰 马素霞 殷人昆 编著
作者: [中]应明生(Mingsheng Ying),[中]冯元(Yuan Feng) 著
作者: David E.Culler, Jaswinder Pal Singh, Anoop Gupta
参考读物推荐
作者: [美]路易斯·安德烈·巴罗索 (Luiz André Barroso) 乌尔斯·霍尔兹勒(Urs Hölzle) 帕塔萨拉蒂·兰加纳坦(Parthasarathy Ranganathan) 著
作者: Zoe Gillenwater
作者: (美) Mario Hewardt 著