具体描述
Android 4的问世,标志着Google将Android操作系统的大旗插到了智能手机和平板电脑的阵营中。这本指南书将教会您成功开发Android应用程序所需的一切。本书涵盖了Android应用程序开发的所有基础,包括用户界面、网络、SMS消息传递、数据库、基于位置的服务和部署等。资深作者Wei-Meng Lee为您铺就了一条成功开发和部署Android应用程序的康庄大道。
主要内容
◆ 讨论了如何适应不同的显示方向、如何理解屏幕的组件
以及如何处理用户界面通知
◆ 描述了在使用TextView、ProgressBar、AutoComplete-
TextView、TimePicker、ListView等视图设计用户界面时
涉及的元素
◆ 演示了如何使用视图显示图片和菜单
◆ 讲解了如何使用内容提供者和如何创建自己的内容提供者
◆ 示范了如何将长时间运行的任务放到单独的线程中
◆ 介绍了如何构建使用SMS消息传递跟踪位置的应用程序
◆ 阐述了如何使用JSON和套接字编程构建自己的聊天应用
程序
◆ 探讨了如何准备Android应用程序来发布到Android
Market上
作者简介
作 者 简 介
Wei-Meng Lee是Developer Learning Solutions公司(www.learn2develop.net)的创始人和技术专家,这家技术公司专门从事最新移动技术的培训。Wei-Meng Lee具有多年的培训经验,他的培训课程特别强调实践学习法。这种动手学习编程的方法比通过阅读书籍、教程和文档来理解主题要容易得多。
Wei-Meng Lee还是Beginning iOS 5 Application Development(Wrox, 2010)和Beginning Android Application Development(Wrox, 2011)的作者。读者可以通过weimenglee@learn2develop.net与他联系。
技术编辑简介
Chaim Krause是US Army’s Command and General Staff College学院的模拟专家(Simulation Specialist),他为该学院开发了运行在多种平台(从iOS和Android设备到Windows桌面操作系统和Linux服务器)的各种各样的软件产品,并且还担负其他一些工作。Python是他最喜欢的语言,但是他本人擅长使用多种语言,比如使用Java和JavaScript/HTML5/CSS等编写代码。很幸运,他的软件开发职业生涯是在Borland开始的,当时他是Delphi语言的高级开发支持工程师。除了计算机相关的工作,Chaim喜欢techno音乐和dubstep音乐,以及和自己的两条雪橇犬Dasher和Minnie玩踏板车。
目录信息
第1章 Android编程入门 1
1.1 Android简介 2
1.1.1Android版本 2
1.1.2Android功能 3
1.1.3Android架构 3
1.1.4市场上的Android设备 4
1.1.5Android Market 7
1.1.6 Android开发社区 7
1.2 获得所需工具 8
1.2.1 Android SDK 8
1.2.2 安装Android SDK工具 9
1.2.3 配置Android SDK
Manager 10
1.2.4 Eclipse 11
1.2.5 Android开发工具 12
1.2.6 创建Android虚拟
设备(AVD) 14
1.3 创建第一个Android应用
程序 17
1.4 Android应用程序剖析 24
1.5 本章小结 28
第2章 活动、碎片和意图 31
2.1 理解活动 31
2.1.1 如何对活动应用样式
和主题 36
2.1.2 隐藏活动标题 37
2.1.3 显示对话框窗口 38
2.1.4 显示进度对话框 43
2.1.5 显示更复杂的进度对话框 46
2.2 使用意图链接活动 50
2.2.1 解决意图筛选器的冲突 54
2.2.2 从意图返回结果 56
2.2.3 使用意图对象传递数据 59
2.3 碎片 65
2.3.1 动态添加碎片 70
2.3.2 碎片的生命周期 72
2.3.3 碎片之间进行交互 76
2.4 使用意图调用内置应用程序 80
2.4.1 理解意图对象 85
2.4.2 使用意图筛选器 86
2.4.3 添加类别 91
2.5 显示通知 93
2.6 本章小结 98
第3章 Android用户界面 101
3.1 了解屏幕的构成 101
3.1.1 视图和视图组 102
3.1.2 LinearLayout 103
3.1.3 AbsoluteLayout 109
3.1.4 TableLayout 110
3.1.5 RelativeLayout 111
3.1.6 FrameLayout 113
3.1.7 ScrollView 115
3.2 适应显示方向 118
3.2.1 锚定视图 119
3.2.2 调整大小和重新定位 121
3.3 管理屏幕方向的变化 124
3.3.1 配置改变时保持状态
信息 127
3.3.2 检测方向改变 128
3.3.3 控制活动的方向 129
3.4 使用Action Bar 130
3.4.1 向Action Bar添加动作项 132
3.4.2 定制动作项和应用
程序图标 138
3.5 以编程方式创建用户界面 139
3.6 侦听用户界面通知 142
3.6.1 重写活动中定义的方法 142
3.6.2 为视图注册事件 146
3.7 本章小结 149
第4章 使用视图设计用户界面 151
4.1 基本视图 151
4.1.1 TextView视图 152
4.1.2 Button、ImageButton、EditText、
CheckBox、ToggleButton、
RadioButton和RadioGroup
视图 152
4.1.3 ProgressBar视图 163
4.1.4 AutoCompleteTextView
视图 169
4.2 选取器视图 171
4.2.1 TimePicker视图 171
4.2.2 DatePicker视图 176
4.3 使用列表视图显示长列表 183
4.3.1 ListView视图 183
4.3.2 使用Spinner视图 191
4.4 了解特殊碎片 194
4.4.1 使用ListFragment 194
4.4.2 使用DialogFragment 199
4.4.3 使用PreferenceFragment 202
4.5 本章小结 206
第5章 使用视图显示图片和菜单 209
5.1 使用图像视图显示图片 209
5.1.1 Gallery和ImageView
视图 209
5.1.2 ImageSwitcher 217
5.1.3 GridView 222
5.2 将菜单和视图一起使用 225
5.2.1 创建辅助方法 226
5.2.2 选项菜单 228
5.2.3 上下文菜单 230
5.3 其他一些视图 233
5.3.1 AnalogClock和DigitalClock
视图 233
5.3.2 WebView 234
5.4 本章小结 240
第6章 数据持久化 243
6.1 保存和加载用户首选项 243
6.1.1 使用活动访问首选项 244
6.1.2 通过编程检索和修改首
选项值 250
6.1.3 修改首选项文件的默认
名称 252
6.2 将数据持久化到文件中 254
6.2.1 保存到内部存储器 254
6.2.2 保存到外部存储器
(SD卡) 259
6.2.3 选择最佳存储选项 262
6.2.4 使用静态资源 263
6.3 创建和使用数据库 264
6.3.1 创建DBAdapter辅助类 265
6.3.2 以编程方式使用数据库 270
6.3.3 预创建数据库 277
6.4 本章小结 281
第7章 内容提供者 283
7.1 在Android中共享数据 283
7.2 使用内容提供者 284
7.2.1 预定义查询字符串常量 289
7.2.2 投影 292
7.2.3 筛选 293
7.2.4 排序 294
7.3 创建自己的内容提供者 295
7.4 使用内容提供者 304
7.5 本章小结 309
第8章 消息传递 311
8.1 SMS消息传递 311
8.1.1 以编程方式发送SMS
消息 312
8.1.2 发送消息后获取反馈 315
8.1.3 使用意图发送SMS消息 318
8.1.4 接收SMS消息 319
8.1.5 说明和警告 334
8.2 发送电子邮件 335
8.3 本章小结 338
第9章 基于位置的服务 339
9.1 显示地图 339
9.1.1 创建项目 340
9.1.2 获取Maps API密钥 340
9.1.3 显示地图 343
9.1.4 显示缩放控件 346
9.1.5 改变视图 349
9.1.6 导航到特定位置 350
9.1.7 添加标记 353
9.1.8 获取触摸的位置 356
9.1.9 地理编码和反向地理
编码 358
9.2 获取位置数据 362
9.3 监控一个位置 371
9.4 项目—创建一个位置跟踪
应用程序 372
9.5 本章小结 378
第10章 联网 381
10.1 通过HTTP使用Web服务 381
10.1.1 下载二进制数据 384
10.1.2 下载文本内容 390
10.1.3 通过GET方法访问Web
服务 392
10.2 使用JSON服务 397
10.3 套接字编程 405
10.4 本章小结 414
第11章 开发Android服务 417
11.1 创建自己的服务 417
11.1.1 在服务中执行长时间运行
的任务 421
11.1.2 在服务中执行重复的
任务 426
11.1.3 使用IntentService在单独的
线程上执行异步任务 430
11.2 在服务和活动之间通信 433
11.3 将活动绑定到服务 437
11.4 理解线程 442
11.5 本章小结 448
第12章 发布Android应用程序 451
12.1 为发布做准备 451
12.1.1 版本化 451
12.1.2 对Android应用程序进行
数字签名 454
12.2 部署APK文件 459
12.2.1 使用adb.exe工具 459
12.2.2 使用Web服务器 461
12.2.3 在Android Market上
发布 462
12.3 本章小结 467
附录A 使用Eclipse进行Android
开发 469
附录B 使用Android模拟器 483
附录C 练习答案 595
· · · · · · (收起)
读后感
首先,这本书和市面上书籍的最大区别是基于android sdk 4.0教材。在大部分开发中一直使用sdk 2.2开发。对于android 4.0 的开发只是停留在了解的程度。值得庆幸的是有了这本书,让我可以快速熟悉android 4.0 一些特性,和界面设计风格。 其次,如果你还是一个新手那么这本书,...
首先,这本书和市面上书籍的最大区别是基于android sdk 4.0教材。在大部分开发中一直使用sdk 2.2开发。对于android 4.0 的开发只是停留在了解的程度。值得庆幸的是有了这本书,让我可以快速熟悉android 4.0 一些特性,和界面设计风格。 其次,如果你还是一个新手那么这本书,...
首先,这本书和市面上书籍的最大区别是基于android sdk 4.0教材。在大部分开发中一直使用sdk 2.2开发。对于android 4.0 的开发只是停留在了解的程度。值得庆幸的是有了这本书,让我可以快速熟悉android 4.0 一些特性,和界面设计风格。 其次,如果你还是一个新手那么这本书,...
首先,这本书和市面上书籍的最大区别是基于android sdk 4.0教材。在大部分开发中一直使用sdk 2.2开发。对于android 4.0 的开发只是停留在了解的程度。值得庆幸的是有了这本书,让我可以快速熟悉android 4.0 一些特性,和界面设计风格。 其次,如果你还是一个新手那么这本书,...
首先,这本书和市面上书籍的最大区别是基于android sdk 4.0教材。在大部分开发中一直使用sdk 2.2开发。对于android 4.0 的开发只是停留在了解的程度。值得庆幸的是有了这本书,让我可以快速熟悉android 4.0 一些特性,和界面设计风格。 其次,如果你还是一个新手那么这本书,...
用户评价
这本书简直是为我这种对移动开发一窍不通的新手量身定做的“救星”!我之前尝试过看一些官方文档,但那些技术术语和复杂的架构描述简直让人望而生畏,感觉像在啃一本天书。但《Android 4编程入门经典》完全不一样,它的叙事方式极其平易近人,仿佛作者就坐在我身边,一步一步耐心地指导我走过每一个概念的搭建过程。它没有一上来就抛出那些令人头皮发麻的底层原理,而是选择从最直观的“画一个按钮”这种小任务开始,让我们快速建立起成就感。特别是关于Activity生命周期的讲解,作者用了非常形象的比喻,一下子就让那个原本混沌不清的流程清晰了起来。我记得当时在搭建第一个小应用时,遇到布局文件嵌套过深的问题,代码报错看得我一头雾水。这本书里针对初学者常犯的错误,设置了专门的“避坑指南”模块,里面详细分析了错误的原因和正确的修改思路,那次我对照着书上的截图,花了不到十分钟就解决了困扰我半小时的问题。这种注重实战和细节的教学态度,对于我们这种需要快速上手项目的新人来说,简直是无价之宝。它不仅仅是教你代码怎么写,更重要的是培养你“像一个Android开发者那样思考”的习惯,让我对这个领域不再感到遥不可及。
如果用一个词来形容我的阅读体验,那就是“痛快”。我之前买过一本号称是“全面覆盖”的参考书,结果发现它的代码示例是基于一个非常旧的Android版本编写的,编译时各种依赖冲突和兼容性问题层出不穷,折腾了半天代码跑不起来,直接打击了我的积极性。而这本《Android 4编程入门经典》在代码示例的维护和更新上做得非常到位。它似乎预判了初学者在配置开发环境时可能遇到的所有陷阱。我注意到书中提供的所有源代码都经过了严格的测试,并且针对当时主流的IDE版本进行了适配说明,这为我节省了大量的排错时间。更棒的是,书中对“为什么”的探讨,而不是仅仅停留在“怎么做”的层面。比如在解释内存管理和垃圾回收机制时,作者没有用晦涩的JVM术语来搪塞过去,而是结合Android设备的资源限制,讲解了为什么在移动端进行内存优化如此重要,并给出了具体的代码优化建议,比如如何避免内存泄漏。这种以解决实际工程问题为导向的教学,让学习过程充满了目标感和实用价值。
从一个完全没有编程基础的“小白”角度来看,这本书最成功的点在于它对技术焦点的精准把控,它懂得如何为新手“减负”。它很聪明地选择了Android早期版本(Android 4.x时代)作为切入点,这个版本的API相对稳定,核心概念的演变路径清晰,避免了新手一开始就被最新的、变化极快的框架特性所淹没。书中对四大组件、View绘制原理等核心基础的讲解非常扎实和深入,这些“内功心法”在后续的所有新版本中都依然适用。相比于那些只关注最新库和花哨功能的新书,这本书让我建立了一个非常坚固的底层认知。我感觉自己不是在学习一个转瞬即逝的框架版本,而是在学习一门稳定的、有生命力的工程学科。它教会我如何构建一个稳固的基石,而不是急于去搭建华而不实的顶层装饰。这种注重本源、打好基础的教学理念,让我确信,即使未来技术栈发生变化,我所掌握的核心思想依然能够指导我的开发工作。对于想真正理解Android系统运作逻辑的求知者来说,这本书绝对是不可多得的入门指南。
这本书的排版和插图设计,简直是业界良心,这点必须大书特书。在这个“看脸”的时代,糟糕的视觉呈现真的会劝退很多读者。然而,这本书的内页设计非常清爽,留白恰到好处,完全没有那种密密麻麻的压迫感。最让我感到惊喜的是那些流程图和架构图。很多复杂的异步操作流程,如果只用文字描述,我可能需要反复阅读好几遍才能理清。但作者运用了色彩鲜明的流程图,清晰地标注了线程之间的调用关系和状态转换,一下子就让抽象的概念具象化了。特别是涉及到线程池和HandlerThread的并发处理部分,那张关于主线程与子线程通信的模型图,我直接打印出来贴在了显示器旁边,成了我日常参考的重要视觉辅助。而且,书中对代码块的格式化也做得极好,关键字高亮、变量命名规范性强,让人在阅读代码时,既能专注于逻辑本身,又不会因为格式混乱而分散注意力。这不仅仅是一本技术书,它更像是一份精心制作的专业教程手册。
说实话,市面上关于Android的教材多如牛毛,但真正能把“经典”二字贯穿始终的却少之又少,很多书写到一半就陷入了技术名词的泥沼,让人读不下去。这本书的魅力就在于它的结构逻辑性达到了近乎完美的程度。它不是简单地堆砌API说明,而是围绕着一个清晰的主线——如何构建一个功能完善的用户界面和处理基本的数据交互——层层递进。我特别欣赏它在讲解四大组件时所采取的策略,先是宏观介绍它们的作用和相互关系,然后才是深入到每个组件的具体实现细节,最后往往会附带一个集成这些组件的小Demo。这种“先知其然,再知其所以然”的教学法,极大地减轻了我的认知负担。例如,在讲解Intent的使用时,它不仅涵盖了显式和隐式的跳转,还深入分析了数据如何在不同组件间安全传递的机制,甚至提到了权限控制在跨应用通信中的重要性。这种广度和深度的平衡处理得非常老练,使得初学者在掌握基础的同时,也不会落下未来进阶所必须了解的底层逻辑。读完它,我感觉我的知识体系不再是零散的碎片,而是有了一个坚固的主干。
翻译的一般,感觉上只是对一些代码例子的简单说明,不适合拿来做入门教材。也许入门了以后再来读效果会更好,对于初学者来说不推荐。
记得是很久以前看的第一本Android书,那时候对Android也没什么概念,这本书很浅显的讲了Android各方面的基础控件怎么用,也仅此而已,适合想立刻上手做出一个app的同学,做完后还是需要阅读更多的文章书籍加深理解
翻译的一般,感觉上只是对一些代码例子的简单说明,不适合拿来做入门教材。也许入门了以后再来读效果会更好,对于初学者来说不推荐。
比较垃圾的一本书
Wei-Meng Lee 最新作品,国内首本译著android 4入门宝典