《Android程序设计(原书第2版)》旨在帮助你创建良好的工程化的Android应用,而不仅仅是一些小的示例应用。本书适合不同背景的Android编程人员。如果你一直在用Objective-C为iPhone或MacOS编写应用,你会发现本书中Android工具和Java语言特性等与Android编程相关的介绍能够帮助你理解Android移动应用开发。如果你是一名经验丰富的Java编程人员,会发现本书中介绍的Android应用架构有助于你在这个新的充满活力的Java客户端应用开发中运用你的Java专业知识。简而言之,本书面向的是那些在面向对象语言、移动应用、REST应用及类似领域中有一定经验的人。从本书中,可以更深入地了解Android编程,而这些内容远远不止是一本入门书或者一些在线的教程所能够涵盖的。
《Android程序设计(原书第2版)》的内容组织如下:
第一部分会帮助有一定Java或iOS开发经验的编程人员快速入门,了解如何使用Android SDK和Android编程基础。
第二部分会深入Android框架,专注于用户界面和图形类层次结构、并发和数据库。理解这部分内容将为了解Android应用如何工作奠定了坚实的基础。
第三部分介绍代码骨架和模式,理解它们有助于开发使用Web数据以及Android 4 用户界面规范和API的应用开发。
第四部分涵盖一些非常实用的内容,包括Android多媒体、搜索、定位、传感器和账户API,以及原生开发工具箱,支持开发人员添加高级功能。
Zigurd Mednieks,是领先的OEM、企业和创建基于Android系统和软件的创业咨询顾问。在此之前,他是D2 Technologies的首席架构师,D2 Technologies是Voice over IP (VoIP)的技术提供商。在D2 Technologies,他带领工程和产品定义工作,把通信和社交媒体结合到专用的嵌入式系统和Android平台上。
Laird Dornin是一名移动开发架构师,在Java、Android、J2ME、SavaJe和WebKit浏览器库方面有丰富的经验。他是Sun Microsystems的J2SE开发团队成员,是Java RMI和Jini的技术专家。他目前是一家大型无线运营商的高级工程师,为该运营商的开发者社区提供Android架构指南和Network API支持。
G. Blake Meike是一个经验丰富的开发人员,在移动和服务端平台构建Java应用方面有丰富的经验。
Masumi Nakamura有着十多年的软件工程经验,在移动技术领域的很多职位上工作过,从构建移动基础架构到成立自己的移动公司。他曾经是WHERE Android应用的首席Android开发工程师,现在是Where Inc.的Big Data和Recommendations组的首席架构师。
“对于那些不但想掌握Android编程且想探索其内部架构的人而言,本书再好不过了。”
——Etienne Savard Amazon.com上对本书 (第1版)的评价
“本书不局限于Android的基础知识,而是深度探讨了各个方面的内容。此外,它重点介绍了Android的数据架构是如何作为使用Web服务的应用的模型,从而实现明显的性能提升以及更好的数据展现。”
——Ajit Jaokar Amazon.com上对本书 (第1版)的评价
前言
第一部分 工具和基础
第1章 Android SDK的安装和系统需求
Android SDK的安装和系统需求
小试牛刀:确认安装是否能够正常工作
SDK的组件
保持版本最新
示例代码
关于代码阅读
第2章 Android开发之Java必备基础
Android正在重塑客户端Java
Java类型系统
作用域
Java编程惯例
第3章 Android应用的主要组件
活动、意图和任务
其他Android组件
组件生命周期
静态应用资源和上下文
Android应用时运行的环境
扩展Android
Android中的并发编程
序列化
Parcelable
第4章 应用发布之前的准备工作
应用签名
把应用投放到Android市场
其他发布
Google地图API密钥
指定API级别的兼容性
兼容不同的屏幕类型
第5章 Android软件开发工具Eclipse
Eclipse相关的概念和术语
Eclipse视图和透视图
Eclipse中的Java编程
Eclipse和Android
预防Bug并保持代码整洁
Eclipse特性和替代品
第二部分 Android框架
第6章 构建视图
Android GUI架构
组装图形界面
控制器布局
菜单栏和活动栏
视图调试和优化
第7章 Fragment和跨平台支持
创建Fragment
Fragment生命周期
Fragment管理器
Fragment事务
Support Package
Fragment和布局
第8章 二维和三维图形的绘制
自己动手开发部件
Bling
第9章 数据处理和数据持久化
关系数据库概览
SQLite
SQL语言
Android应用中的SQL和数据库为中心的数据模型
Android数据库类
Android应用的数据库设计
使用数据库API:MJAndroid
第三部分 Android的框架应用
第10章 运行良好的应用框架
对生命周期进行可视化
Fragment生命周期可视化
Activity类和运行良好的应用
Application类的生命周期方法
第11章 构建用户界面
Top-Level设计
用户界面的可视化编辑
从白板开始
Fragment布局
折叠和展开可扩展的UI界面
使得Activity、Fragment、Action Bar和多布局能够一起工作
其他活动
第12章 使用内容提供者
理解内容提供者
定义提供者的公用API
编写并集成内容提供者
文件管理和二进制数据
Android MVC和内容查看器
一个完整的内容提供者代码:SimpleFinchVideoContentProvider
声明自己的内容提供者
第13章 内容提供者作为RESTful Web服务的Facade
开发RESTful类型的Android应用
Network MVC
Network MVC方式的优点小结
代码实例:动态列出并缓存YouTube视频内容
Finch YouTube视频示例的源代码结构
视频搜索应用的各个步骤
步骤1:UI获取用户输入
步骤2:控制器监听事件
步骤3:控制器调用内容提供者(即模型)的managedQuery
步骤4:实现RESTful请求
第四部分 高级话题
第14章 搜索
搜索界面
查询建议
第15章 地理位置和地图定位
基于地理位置的服务
地图定位
Google Maps Activity
MapView和MapActivity
使用MapView
MapView和MyLocationOverlay初始化
暂停和恢复MapActivity
通过菜单按钮控制地图
通过键盘操作地图
没有地图的地理位置
街景(StreetView)
第16章 多媒体
音频和视频
播放音频和视频
录制音频和视频
存储的媒体内容
第17章 传感器、NFC、语音、手势和可访问性
传感器
近场通信
手势输入
可访问性
第18章 通信、身份认证、同步和社交媒体
账户信息
认证和同步
蓝牙
第19章 Android本地开发工具箱
本地方法和JNI调用
Android NDK
NDK提供的本地库文件和头文件
编译自己定制的库模块
本书旨在帮助你创建良好的能实际使用的Android应用,而不仅仅是一些小的示例应用。
本书适合不同背景的Android编程人员。如果你一直在用Objective-C为iPhone或Mac OS编写应用,你会发现本书介绍的Android工具和Java语言特性等以及Android编程相关内容能够帮助你理解Android移动应用开发。如果你是一名经验丰富的Java编程人员,会发现本书介绍的Android应用架构有助于你在这个新的充满活力的Java客户端应用开发中运用Java专业知识。简而言之,本书面向的是那些在面向对象语言、移动应用、REST应用及类似领域中有一定经验的人。从本书中,可以更深入地了解Android编程,而这些内容远超过入门书或者一些在线的教程所涵盖的内容。
本书组织方式
我们希望能够快速带你掌握本书的内容。本书第一部分将帮你逐步掌握SDK工具,使你能够访问本书的示例代码,通过该部分的SDK介绍,你甚至可以加深对SDK工具、Java和数据库设计的理解。如果你已经对第一部分所涉及的工具和基础知识非常熟悉,则可以跳过该部分直接进入本书第二部分,第二部分的目标是帮助你奠定构建较大型Android应用的基础。
本书的核心是一个应用实例,它使用Web服务给用户传送信息——这种方式用在很多应用的核心。还介绍了一种应用架构,以及一种使用Android框架类的新方法,它们能够帮助你非常高效地使用Android框架类。可以使用这个应用实例作为框架来创建自己的应用,也可以作为学习Android编程的工具。
本书最后一部分介绍Android在特定应用领域的API:多媒体、地理位置、传感器和通信等,从而帮助你在自己感兴趣的领域掌握Android应用编程。
当你阅读完本书时,希望你所掌握的不仅仅是参考资料知识和对一些例子的实践经验。希望你对如何创建优秀的Android应用也能有自己的思路。
本书约定
本书遵循以下字体体例:
斜体(Italic)
表示新的术语、URL、E-mail地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单及段落中的程序单元,如变量或函数名称、数据库、数据类型、环境变量、声明和关键字等。
等宽粗体(Constant width bold)
显示命令或者其他应该由用户逐字输入的文本。
等宽斜体(Constant width italic)
表示必须根据用户提供的值或者由上下文决定的值进行替代的文本。
注意: 这个图标表示提示、建议或一般性注意事项。
警告: 表示和附近文字相关的警告和注意事项。
使用本书的示例代码
本书旨在帮助你完成工作。通常来说,你可以在程序和文档中使用本书的代码。除非你使用了本书的大量代码,否则你无需联系我们获取许可。例如,编写一个用到本书中几段代码的程序就不需要获得许可,销售和分发 O'Reilly 丛书的代码CD-ROM需要获得许可,引用本书的示例代码来解决一个问题不需要获得许可,在你的产品文档中使用本书的大量代码需要获得许可。
我们不要求你引用本书时给出出处,但是如果你这么做,我们会对此表示感谢。出处通常包含标题、作者、出版社和 ISBN。例如:“Programming Android, Second Edition,by Zigurd Mednieks, Laird Dornin, G. Blake Meike, and Masumi Nakamura. Copyright 2012 O扲eilly Media, Inc., 978-1-449-31664-8.”
……
天呐,终于啃完了这本《Android程序设计(原书第2版)》!当初决定入手这本书,纯粹是因为网上口碑太好了,说它是“学习Android开发的圣经”之类的,我就想着,好吧,既然要学,就一步到位。拿到手的时候,厚度真的让我有点小小的畏惧,感觉像一本砖头,但翻开扉页,看到那些细致入微的讲解和清晰的逻辑,瞬间感觉之前的担忧都是多余的。我个人比较喜欢那种循序渐进的学习方式,这本书恰恰就做到了这一点。它不会一开始就抛出很多复杂的概念,而是从最基础的Android项目结构、Activity生命周期、布局文件这些开始讲起,每一个小知识点都讲得非常透彻,甚至连一些容易被忽略的细节都考虑到了。比如,在讲到Fragment的时候,它不仅介绍了Fragment的创建和使用,还深入剖析了Fragment的生命周期和Fragment之间通信的各种方式,这对于我这种初学者来说,简直是福音。而且,书中的代码示例都非常精炼,一看就懂,并且很多示例都提供了GitHub链接,方便我直接下载下来运行,对比学习。我最欣赏的一点是,作者并没有把所有知识点都塞在一起,而是有条理地将它们划分到不同的章节,每个章节都围绕一个核心主题展开,这样我就可以更有针对性地去学习和理解。有时候,我会花一整晚的时间就为了弄懂一个动画的实现原理,或者一个数据持久化的最佳实践。这本书真的让我感觉,学习Android开发不再是枯燥的技术堆砌,而是一个充满乐趣和挑战的创造过程。
评分初次接触《Android程序设计(原书第2版)》,就被其内容的深度和广度所震撼。我之前也看过一些零散的Android教程,但总感觉不够系统,很多地方理解起来模棱两可。这本书就像一个系统性的指南,将Android开发中的各个方面都梳理得井井有条。我尤其喜欢它在介绍UI开发时,不仅仅是停留在XML布局的层面,更是深入讲解了各种自定义View的绘制原理,包括Canvas、Paint、Path这些底层API的使用。当我第一次尝试着自己去绘制一个复杂的UI元素时,脑海中立刻浮现出了书中关于Path Measure和Path Effect的讲解,那真是太及时了!而且,这本书并没有回避一些“难啃”的知识点,比如Binder机制、IPC通信等,作者用一种循序渐进的方式,将这些原本高深莫测的技术,拆解成更容易理解的模块,并辅以清晰的图示和代码演示。我记得在理解Binder通信的时候,我反复看了好几遍书中的UML图和流程图,结合着代码,才算是勉强掌握了其中的精髓。这本书给我最大的感受是,它不仅仅教会了我“怎么做”,更重要的是教会了我“为什么这么做”。它不仅仅是告诉你API怎么用,更是让你理解API背后的设计思想和工作原理。这对于我这样一个渴望深入理解Android底层原理的学习者来说,简直是如获至宝。虽然我还没有完全看完,但我可以肯定地说,这本书将成为我案头常备的参考书。
评分老实说,当我拿到《Android程序设计(原书第2版)》这本书的时候,我的内心是忐忑的。毕竟,Android开发这个领域更新迭代太快了,我担心这本书的内容会过时。然而,在翻阅了几个章节之后,我的这种担忧就被彻底打消了。这本书的作者在内容的选取上非常有远见,它不仅仅涵盖了Android开发最核心的基础知识,比如Activity、Service、Broadcast Receiver、Content Provider这些四大组件,还花了相当大的篇幅去讲解一些现代Android开发中不可或缺的技术,比如Jetpack组件。我特别赞赏书中对ViewModel、LiveData、Room的讲解,这些内容对于构建可维护、可测试的应用程序至关重要。我还记得在学习Fragment的优化时,书中提到了一种使用FragmentManager来管理Fragment生命周期的高级技巧,当时我有点困惑,但结合书中的图示和代码示例,反复推敲了几遍,终于恍然大悟。这种“醍醐灌顶”的感觉,是很多技术书籍难以提供的。而且,这本书在讲解一些相对复杂的概念时,并没有使用过于晦涩的语言,而是善于用生动的比喻和类比来帮助读者理解。比如,在解释Context的作用时,作者就将其比作一个“环境”,这个比喻让我一下子就理解了Context的多种形式和它们各自的用途。另外,书中对一些性能优化和内存泄露的排查方法也做了详细的介绍,这对于写出高质量的Android应用来说,是必不可少的知识。虽然这本书确实需要投入不少时间和精力去学习,但我觉得,这绝对是一笔物超所值的投资。
评分这本《Android程序设计(原书第2版)》可以说是陪伴我度过了一段艰辛但充实的开发学习时光。我属于那种比较喜欢实践出真知的人,这本书在这方面做得非常出色。它不是那种只讲理论的书,而是非常注重实战。书中的每一个章节,都会通过一个或多个实际的小项目来讲解知识点。例如,在讲解网络请求时,它就带我们从零开始构建了一个天气查询应用,从UI设计到数据解析,再到异步请求的处理,一步步都讲解得非常详细。我跟着书中的步骤敲下每一行代码,运行,调试,发现问题,解决问题,这个过程让我对Android开发的整个流程有了非常直观的感受。特别是在处理多线程和异步操作这块,书里给出的几种解决方案,包括AsyncTask、Handler、IntentService,以及后面介绍的RxJava,都做了很深入的对比和分析,让我能根据不同的场景选择最合适的工具。我最喜欢的一个章节是关于Material Design的实现,它不仅仅是教我如何使用现成的控件,更是深入到Design Support Library的源码层面,让我理解了背后的设计理念和实现机制。这让我不仅仅是“搬运”代码,而是真正理解了为什么这么做,以及如何根据自己的需求进行二次开发。这本书的排版也很舒服,代码高亮清晰,图文并茂,阅读起来一点都不吃力。虽然我不是那种速成的学习者,但我相信,通过认真研读这本书,我打下的基础会非常扎实,为我以后深入学习更复杂的Android技术打下了坚实的基础。
评分说实话,《Android程序设计(原书第2版)》这本书,对我来说,简直就是一场“学习革命”。我之前一直认为Android开发是一门纯粹的技术活,需要大量的记忆和练习。但这本书让我看到了技术背后的人性化和艺术感。比如,在讲到动画系统时,书中不仅介绍了属性动画、视图动画,还详细讲解了Transition Framework,以及如何在Activity切换时实现流畅的动画效果。我尝试着跟着书中的例子,给我的应用添加了一些漂亮的过渡动画,用户反馈好得不得了!这让我意识到,一个好的用户体验,不仅仅是功能强大,更在于细节的打磨。此外,书中的内容组织方式也让我耳目一新。它不是按照技术的“重要性”来排序,而是更多地从“用户视角”和“开发流程”来展开。例如,在讲解数据存储时,它会先介绍SQLite,然后是SharedPreferences,最后才引出Room Persistence Library,这个顺序让我更容易理解每种存储方式的优缺点和适用场景。更难得的是,这本书在讲解一些“坑”的时候,非常坦诚。它不会回避一些常见的陷阱和bug,而是会提前预警,并给出解决方案。这一点对于新手来说,真的是太重要了!它让我少走了很多弯路,也让我对Android开发的整个生态系统有了更全面的认识。读这本书,就像是在跟一位经验丰富的老朋友交流,他不仅传授你知识,还会分享他的经验和教训,让你少踩坑,多成长。
评分搞活动买的,这书看起来还不错
评分活动买的,讲的还可以吧
评分书还是不错,就是ems太垃圾了,到了之后不送也不给打电话居然把快递给我送饭圆通让,让自己去拿,还给套了5元钱!ems一坨屎垃圾
评分专业必备正版脉络清晰帮助很大理论基础实例经典
评分本书对于UI控件的内容涉及较少。
评分非常好非常好非常好。
评分有点贵,便宜才是王道!
评分入门好书,讲解详细,简单易懂
评分挺方便的 还不错 挺方便的 还不错
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有