具体描述
如何才能构建设计良好的Android应用?通过本书提供的权威指南,深入探索Android核心模块及其API,了解如何创建可以运行在一系列Android设备上的出色的应用软件。本书将带你探索行之有效的应用设计和实施方式,包括一些应用框架,你可以把这些框架作为自己项目的起始点。
深入传感器、本地开发、3D图形和许多其他主题,并发现如何在选择的平台上构建应用程序。如果你要进阶到高级程序员,你将学会如何创建良好的Android应用程序。
□ 了解如何在Eclipse IDE中使用Android SDK
□ 掌握高级的Java编程思想,无论你是否有Java编程经验
□ 创建吸引人且易于操作的Android用户界面
□ 理解Android特有的数据库设计问题及SQLite
□ 使用传感器和手势来丰富你的应用输入,而不是局限于点击和滚动
□ 探索多媒体、地理位置、通信、NFC及其他应用的Android API
作者简介
Zigurd Mednieks是领先的OEM、企业和创建基于Android系统的创业投资顾问。
Laird Dornin是一家大型无线运营商的高级工程师,在Java、Android、J2ME、SavaJe和WebKit方面有丰富的经验。
G.Blake Meike是一位经验丰富的开发人员,为移动和服务端平台构建Java应用有丰富的经验。
Masumi Nakamura是Where Inc.的Big Data和Recommendations组的首席架构师。
目录信息
第1章 工具包 7
1.1 Android SDK的安装和系统需求 7
1.2 小试牛刀:确认安装是否能够正常工作 16
1.3 SDK的组件 24
1.4 保持版本最新 30
1.5 示例代码 32
1.6 关于代码阅读 34
第2章 Android开发之Java必备基础 35
2.1 Android正在重塑客户端Java 35
2.2 Java类型系统 36
2.3 作用域 57
2.4 Java编程惯例 61
第3章 Android应用的主要组件 75
3.1 Android平台和传统编程模型的对比 75
3.2 活动、意图和任务 76
3.3 其他Android组件 78
3.4 静态应用资源和上下文 82
3.5 Resources 87
3.6 Android应用的运行时环境 88
3.7 组件生命周期 89
3.8 Android应用打包:.apk文件 91
3.9 把软件移植到Android中 92
第4章 应用发布之前的准备工作 93
4.1 应用签名 93
4.2 把应用投放到Android市场 102
4.3 Google地图API密钥 104
4.4 指定API级别的兼容性 104
4.5 兼容不同的屏幕类型 105
第5章 Android软件开发工具Eclipse 107
5.1 Eclipse相关的概念和术语 108
5.2 Eclipse视图和透视图 113
5.3 Eclipse中的Java编程 115
5.4 Eclipse和Android 117
5.5 预防Bug并保持代码整洁 118
5.6 Eclipse特性和替代品 125
第6章 Android下的高效Java编程 126
6.1 Android框架 126
6.2 组织Java源代码 133
6.3 Android中的并发编程 135
6.4 序列化 148
第二部分 Android框架
第7章 构建视图 159
7.1 Android GUI架构 159
7.2 组装图形界面 163
7.3 控制器布局 168
7.4 菜单栏 184
第8章 Fragment和跨平台支持 187
8.1 创建Fragment 188
8.2 Fragment生命周期 190
8.3 Fragment管理器 192
8.4 Fragment事务 193
8.5 兼容包 198
第9章 二维和三维图形的绘制 199
9.1 自己动手开发部件 199
9.2 Bling 220
第10章 数据处理和数据持久化 232
10.1 关系数据库概览 232
10.2 SQLite 233
10.3 SQL语言 233
10.4 Android应用中的SQL和以数据库为中心的数据模型 243
10.5 Android数据库类 244
10.6 Android应用的数据库设计 245
10.7 使用数据库API:MJAndroid 248
第三部分 Android的框架应用
第11章 运行良好的应用框架 263
11.1 对生命周期进行可视化 263
11.2 Fragment生命周期可视化 274
11.3 Activity类和运行良好的应用 277
11.4 Application类的生命周期方法 278
11.5 活动之间流畅直观的用户体验 281
第12章 使用内容提供者 286
12.1 理解内容提供者 287
12.2 定义提供者的公用API 290
12.3 编写并集成内容提供者 295
12.4 文件管理和二进制数据 296
12.5 Android MVC和内容查看器 298
12.6 一个完整的内容提供者代码:SimpleFinchVideoContentProvider 299
12.7 声明自己的内容提供者 307
第13章 探讨内容提供者 309
13.1 开发RESTful类型的Android应用 310
13.2 Network MVC 311
13.3 Network MVC方式的优点小结 312
13.4 代码实例:动态列出并缓存YouTube视频内容 314
13.5 Finch YouTube视频示例的源代码结构 315
13.6 视频搜索应用的各个步骤 316
第四部分 高级话题
第14章 多媒体 339
14.1 音频和视频 339
14.2 播放音频和视频 340
14.3 录制音频和视频 344
14.4 存储的媒体内容 350
第15章 地理位置和地图定位 351
15.1 基于地理位置的服务 352
15.2 地图定位 353
15.3 Google Maps Activity 353
15.4 MapView和MapActivity 354
15.5 使用MapView 355
15.6 MapView和MyLocationOverlay初始化 355
15.7 暂停和恢复MapActivity 358
15.8 通过菜单按钮控制地图 359
15.9 通过键盘操作地图 361
15.10 没有地图的地理位置 362
第16章 传感器、NFC、语音、手势和可访问性 371
16.1 传感器 371
16.2 近场通信 375
16.3 手势输入 386
16.4 可访问性 387
第17章 通信、身份认证、同步和社交媒体 390
17.1 账户信息 390
17.2 认证和同步 393
17.3 蓝牙 408
第18章 Android本地开发工具箱 424
18.1 本地方法和JNI调用 425
18.2 Android NDK 426
18.3 Android提供的本地库 430
18.4 编译自己定制的库模块 432
18.5 本地活动 435
· · · · · · (收起)
读后感
用户评价
作为一名有几年经验的移动端开发者,我对市面上大多数的“速成”类技术书籍持保留态度,但《Android程序设计》这本书却着实让我眼前一亮。它没有过多纠缠于那些已经过时或者在最新API中已被废弃的API细节,而是将重点放在了架构设计和现代化的开发思想上。书中对于Kotlin协程在处理异步任务时的优雅性探讨,以及对Jetpack组件(如LiveData、ViewModel)的最佳实践分析,都体现了作者紧跟业界前沿的视野。我尤其欣赏作者在讨论Material Design组件集成时的细致程度,完美解决了我们在实际项目中遇到的UI一致性和用户体验上的痛点。这本书的排版也十分考究,图文并茂,复杂的设计模式通过流程图清晰地展示出来,极大地提升了阅读效率。对于我这种追求代码健壮性和可维护性的工程师来说,这本书提供了很多值得参考的工程化思路,绝非泛泛而谈的入门读物。
说实话,我一开始对这本书抱有怀疑,毕竟市面上安卓书籍太多了,质量参差不齐。但翻开之后,我立刻感受到了作者在数据结构与算法在移动端应用的独到见解。这本书并没有仅仅停留在界面和业务逻辑层面,而是深入到了底层性能调优的“硬核”部分。例如,它对内存泄漏的成因分析,结合Java/Kotlin的垃圾回收机制进行了深入剖析,并给出了基于Systrace和Profiler工具的诊断步骤,这部分内容对我解决最近项目中的卡顿问题起到了决定性的作用。更让我惊喜的是,书中还专门辟出一章讨论了不同CPU架构下的二进制优化策略,这在很多同类书籍中是绝无仅有的深度。这本书的深度和广度,使其完全有资格摆在专业开发者的案头,而不是束之高阁的摆设。它教会了我如何从一个“码农”蜕变为一个真正的“系统架构师”。
这本书的实用性达到了一个令人难以置信的水平。它不仅仅是教科书,更像是一本详尽的“操作手册”。我最喜欢的是它对于“组件化与模块化”的实践案例讲解。作者没有停留在理论概念的介绍,而是直接展示了如何搭建一个多模块的项目结构,包括依赖管理、跨模块通信接口的定义,以及如何使用Gradle构建系统进行高效的增量编译。跟着书中的指导,我成功地将我们团队一个庞大的单体应用拆分成了几个独立的模块,极大地改善了团队协作效率和构建时间。此外,关于安全性的章节也做得非常到位,对数据加密、输入校验以及防止反编译的措施都有明确的建议和代码示例。对于正在进行项目重构或新项目规划的团队领导者来说,这本书的架构指导价值,远超其售价本身。
这本《Android程序设计》简直是为我量身定做的,我这个初学者简直是爱不释手!书里的知识点讲得非常透彻,从最基础的四大组件到后期的性能优化,循序渐进,一点都不含糊。特别是对Activity生命周期的讲解,简直是神来之笔,用生活中的例子来比喻,让我一下子就明白了那些复杂的概念。作者的文笔很亲切,没有那种高高在上的技术腔调,读起来就像是身边一位经验丰富的前辈在耐心指导。我记得刚开始接触安卓开发时,面对那些密密麻麻的官方文档头都大了,但这本书简直像是一盏明灯,清晰地指引我如何构建一个稳固的开发基础。代码示例也非常贴合实际应用场景,我跟着敲了一遍后,对如何将理论知识转化为实际功能有了深刻的理解。这本书不仅教你“怎么做”,更重要的是让你明白“为什么这么做”,这种深入内核的讲解,让我对安卓的理解上升到了一个新的高度。强力推荐给所有想踏入安卓世界的朋友,这本书绝对是你的第一本“圣经”。
对于一个非科班出身,完全是靠兴趣自学的开发者来说,这本书的“无障碍沟通”能力实在太强大了。作者似乎完全理解自学者在面对新技术时的恐惧和困惑,用一种极为鼓励和清晰的口吻,将复杂的概念一一拆解。我尤其欣赏它对Android SDK中设计模式(如观察者模式、单例模式)的灵活运用进行的讲解,每一个模式都配上了生动的应用场景,让我不再死记硬背,而是真正理解了这些模式的适用边界。比如,在处理数据库操作时,它对Room持久化库的解释,不仅说明了如何使用注解,更阐述了其背后的SQLite优化思想。这本书的语言风格非常具有感染力,读起来让人充满信心,仿佛每完成一个章节,自己的能力就得到了实实在在的提升。它是我开发旅程中,一本充满温度且技术扎实的伙伴。
翻译堪忧
平心而论,本书的内容并不差。 但组织很差。 对于部分话题的解说探究是有深度的。但是里面对于环境搭建等初级话题的阐述占了太大的篇幅。
再见。
再见。
翻译堪忧