发表于2024-12-24
Android程序设计(原书第2版) pdf epub mobi txt 电子书 下载
《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.2的主流版本时间,现在都已经到Android5了,对现在的新学者而言,真的没什么价值,讲解都是蜻蜓点水的漂过,翻译也拗口。自己也做了一年Android开发了,觉得它远不如“疯狂”系列的清晰。
评分关于派系与地域性标签。第26页谈到派系问题。记得曾仕强老师说过“有人就有派系”,这和怀师书中的观点不谋而合。人在做人做事中固然要理性处之,但人是有感情的,完全排除感性也是困难的。每个人的思想、性格、经历、家乡等不同,在人际交往中,这些因素相近的人更容易走到一起,形成派系,这也是正常的,应该客观地看待这种现象,坦然接受。派系问题有利有弊,而且是本阶段人类社会的必然产物,并不是一时能消除的现象。而且,不光是中国,其他国家同样存在,只是程度和形式不同而已。说到这,我想到了“地域性标签”的问题,往大了说,是指人们说“某国人怎样不好”,往小了说,是指人们说“某地人怎样不好”。我不同意给人贴上“地域性标签”,因为这些“地域性标签”大多是由于偏见造成的。其实某一国家或地区的问题,其他的国家或地区肯定都有,只是程度不同而已,不可因某一国家或地区的一部分人有不良行为就给其整个国家或地区贴上某种标签,这样做对于该国家或地区的其他人是不公平的,也有可能会让本没有那些不好行为人们变得不好,因为被贴上标签在人的心理上会造成不良的影响,久而久之可能真的变成标签所述的情况,那样的结果是很不好的。从整体上看,人类只有文明程度的差异,而没有人性的差异,人性是相通的。人性中所有的善与恶,每个人都有,只是由于后天的教育不同,反映出来的善恶程度不同而已。只有摒弃给人贴“地域性标签”的做法,弘扬人类惩恶扬善的“大同思想”,人类社会才能逐步迈入美好的“大同世界”。
评分关于梅福、南昌和江西。第29页谈到梅福。梅福是南昌历史上的重要人物,昌北的梅岭、昌南的梅湖皆与其有关,远东国际军事法庭中国代表法官梅汝璈亦是其后人。在南昌待了几年,觉此地颇有仙风道骨之感。南昌的梅福、许逊、八大山人等文化名人,万寿宫、佑民寺等宗教圣地,加之佛教净土宗发源地九江庐山东林寺,道教正一派发源地鹰潭龙虎山,江西与佛教、道教颇具渊源。江西的儒家元素就更多,唐宋八大家之韩愈、欧阳修、王安石,大儒朱熹、陆九渊均是江西人,九江庐山白鹿洞书院是古代“天下第一书院”。江西集佛道儒的重要元素于一身,人文底蕴深厚,作为一个江西人,我深感自豪!我也相信有如此深厚的人文底蕴做基础,我们的经济在未来定能实现腾飞,江西加油!
评分Android的入门书,适合初学者看。
评分未看,书稍薄了点,个人喜欢大部厚重内容多的
评分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支持。
Android程序设计(原书第2版) pdf epub mobi txt 电子书 下载