开源中国2010年图书赠送活动《Android应用开发揭秘》

红薯 发布于 2010/01/25 16:58
阅读 5K+
收藏 4

活动内容:

参与活动者请从现在开始,到2010年3月1日这段时间内,对Oschina独家发布的《Android应用开发揭秘》一书内容章节进行客观点评,及大家可以就该技术的趋势和定位提出一些看法,只要参与本次活动者都有机会获得价值69元的《Android应用开发揭秘》

参加方式:

跟帖发表读后感或相关对本书的评论或者是对 Android 的发展趋势和定位提出自己的看法。

我们将从中抽选10名优秀的点评以及看法,赠予此书。

下载《Android应用开发揭秘》1-3章电子版(PDF)

 

内容介绍:

国内第一本基于Android 2.0的经典著作,4大专业社区联袂推荐,权威性毋庸置疑!
本书内容全面,不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化、OpenGL等高级知识,最重要的是还全面介绍了如何利用原生的C/C++(NDK)和Python、Lua等脚本语言(Android Scripting Environment)来开发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应用?

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

Contents 目   录 
前  言
第一部分  准备篇
第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

加载中
0
张明
张明

必须得看看,

0
JavaGG
JavaGG

不顶不行,,,

0
Appcrashes
Appcrashes

我来偷书啦!!!

0
Sephiroth
Sephiroth

先Mark一下吧,年底了,忙了......

0
Luxus
Luxus

新年快乐,顶一下

0
yygc
yygc

我没有学过java,当然也没有做过手机开发,今年年初开始用blackberry,一直想为自己的手机开发一个小软件,由于语言等各方面的原因,一直没有完成这个小小心愿,android系统也没有接触过。但是我有一个小小疑问:手机的系统都是用C/C++来编写的,而作为应用程序,则是通过提供java或者类java虚拟机的形式,为什么不能用c/c++来开发应用程序呢?无法在这么小的设备上构建编译器?还是嵌入式其他方面的限制?没有这方面的专业知识,所以一直没有弄明白。

对android说一下个人的看法,业界一直在讨论android是一个开源的开放的手机系统,但是从moto的droid搭载android 2.0到nexus one搭载android 2.1,android还是google的android,不是大家的android,google的选择性合作让人不免怀疑android的开放性。

即使如此,android依旧是09年的火爆点,引起新一轮的热潮

0
crazyinsomnia
crazyinsomnia

什么都想看!!!

 ps:为什么书都是69元

0
DustinYoung
DustinYoung

研究研究~~目前android貌似很多话题

0
Sephiroth
Sephiroth

引用来自“yygc”的帖子

我没有学过java,当然也没有做过手机开发,今年年初开始用blackberry,一直想为自己的手机开发一个小软件,由于语言等各方面的原因,一直没有完成这个小小心愿,android系统也没有接触过。但是我有一个小小疑问:手机的系统都是用C/C++来编写的,而作为应用程序,则是通过提供java或者类java虚拟机的形式,为什么不能用c/c++来开发应用程序呢?无法在这么小的设备上构建编译器?还是嵌入式其他方面的限制?没有这方面的专业知识,所以一直没有弄明白。

对android说一下个人的看法,业界一直在讨论android是一个开源的开放的手机系统,但是从moto的droid搭载android 2.0到nexus one搭载android 2.1,android还是google的android,不是大家的android,google的选择性合作让人不免怀疑android的开放性。

即使如此,android依旧是09年的火爆点,引起新一轮的热潮

 首先,“为什么不能用c/c++来开发应用程序呢?”,因为java跨平台,而且Android搭载了Dalvik虚拟机(优化过的),无论从各个方面讲,Java是首选,至少我是这么认为的。其实,底层是Linux,并且是C++实现,Java可以说是基于它们之上的FrameWork。

Android的三个版本让人确实很烦啊...

0
李剑
李剑

没接触过手机系统.不过学习下还是可以地....呵呵.支持.

返回顶部
顶部