本书被Android开发者誉为Android学习经典。全书系统全面、循序渐进地介绍了Android软件开发的知识、经验和技巧。 第2版基于Android 7.0对第1版进行了全面更新,将所有知识点都在新的Android系统上进行重新适配,使用全新的Android Studio开发工具代替之前的Eclipse,并添加了对Material Design、运行时权限、Gradle、RecyclerView、百分比布局、OkHttp、Lambda表达式等全新知识点的详细讲解。 本书内容通俗易懂,由浅入深,既适合Android初学者的入门,也适合Android开发者的进阶。
郭霖 Android软件开发工程师。从事Android开发工作6年,有着丰富的项目实战经验,负责及参与开发过多款移动应用与游戏,对Android系统架构及应用层开发有着深入的理解。 2013年3月开始,在CSDN上发表Android技术相关博文,很快获得了大量网友的好评。目前博客访问量已超过500万次,评论超过10000条。荣获CSDN认证专家,并被连续评选为CSDN 2013、2014、2015年度博客之星。
第1章 开始启程——你的diyi行Android代码 1
1.1 了解全貌——Android王国简介 2
1.1.1 Android系统架构 2
1.1.2 Android已发布的版本 3
1.1.3 Android应用开发特色 4
1.2 手把手带你搭建开发环境 5
1.2.1 准备所需要的工具 5
1.2.2 搭建开发环境 5
1.3 创建你的diyi个Android项目 9
1.3.1 创建HelloWorld项目 9
1.3.2 启动模拟器 12
1.3.3 运行HelloWorld 15
1.3.4 分析你的diyi个Android程序 16
1.3.5 详解项目中的资源 22
1.3.6 详解build.gradle文件 23
1.4 前行必备——掌握日志工具的使用 26
1.4.1 使用Android的日志工具Log 26
1.4.2 为什么使用Log而不使用System.out 27
1.5 小结与点评 29
第2章 先从看得到的入手——探究活动 30
2.1 活动是什么 30
2.2 活动的基本用法 30
2.2.1 手动创建活动 31
2.2.2 创建和加载布局 32
2.2.3 在AndroidManifest文件中注册 35
2.2.4 在活动中使用Toast 37
2.2.5 在活动中使用Menu 38
2.2.6 销毁一个活动 40
2.3 使用Intent在活动之间穿梭 41
2.3.1 使用显式Intent 41
2.3.2 使用隐式Intent 44
2.3.3 更多隐式Intent的用法 46
2.3.4 向下一个活动传递数据 50
2.3.5 返回数据给上一个活动 51
2.4 活动的生命周期 53
2.4.1 返回栈 53
2.4.2 活动状态 54
2.4.3 活动的生存期 55
2.4.4 体验活动的生命周期 56
2.4.5 活动被回收了怎么办 62
2.5 活动的启动模式 63
2.5.1 standard 64
2.5.2 singleTop 65
2.5.3 singleTask 67
2.5.4 singleInstance 68
2.6 活动的*佳实践 71
2.6.1 知晓当前是在哪一个活动 71
2.6.2 随时随地退出程序 72
2.6.3 启动活动的*佳写法 74
2.7 小结与点评 75
第3章 软件也要拼脸蛋——UI开发的点点滴滴 76
3.1 如何编写程序界面 76
3.2 常用控件的使用方法 77
3.2.1 TextView 77
3.2.2 Button 80
3.2.3 EditText 82
3.2.4 ImageView 86
3.2.5 ProgressBar 88
3.2.6 AlertDialog 91
3.2.7 ProgressDialog 93
3.3 详解4种基本布局 94
3.3.1 线性布局 94
3.3.2 相对布局 100
3.3.3 帧布局 103
3.3.4 百分比布局 105
3.4 系统控件不够用?创建自定义控件 108
3.4.1 引入布局 109
3.4.2 创建自定义控件 111
3.5 zui常用和zui难用的控件——ListView 113
3.5.1 ListView的简单用法 114
3.5.2 定制ListView的界面 115
3.5.3 提升ListView的运行效率 119
3.5.4 ListView的点击事件 120
3.6 更强大的滚动控件——RecyclerView 122
3.6.1 RecyclerView的基本用法 122
3.6.2 实现横向滚动和瀑布流布局 125
3.6.3 RecyclerView的点击事件 130
3.7 编写界面的*佳实践 132
3.7.1 制作Nine-Patch图片 132
3.7.2 编写精美的聊天界面 135
3.8 小结与点评 141
第4章 手机平板要兼顾——探究碎片 142
4.1 碎片是什么 142
4.2 碎片的使用方式 144
4.2.1 碎片的简单用法 144
4.2.2 动态添加碎片 147
4.2.3 在碎片中模拟返回栈 150
4.2.4 碎片和活动之间进行通信 151
4.3 碎片的生命周期 151
4.3.1 碎片的状态和回调 151
4.3.2 体验碎片的生命周期 153
4.4 动态加载布局的技巧 156
4.4.1 使用限定符 156
4.4.2 使用*小宽度限定符 159
4.5 碎片的*佳实践——一个简易版的新闻应用 160
4.6 小结与点评 169
第5章 全局大喇叭——详解广播机制 170
5.1 广播机制简介 170
5.2 接收系统广播 171
5.2.1 动态注册监听网络变化 171
5.2.2 静态注册实现开机启动 174
5.3 发送自定义广播 177
5.3.1 发送标准广播 177
5.3.2 发送有序广播 179
5.4 使用本地广播 183
5.5 广播的*佳实践——实现强制下线功能 185
5.6 Git时间——初识版本控制工具 192
5.6.1 安装Git 192
5.6.2 创建代码仓库 193
5.6.3 提交本地代码 195
5.7 小结与点评 195
第6章 数据存储全方案——详解持久化技术 196
6.1 持久化技术简介 196
6.2 文件存储 197
6.2.1 将数据存储到文件中 197
6.2.2 从文件中读取数据 201
6.3 SharedPreferences存储 203
6.3.1 将数据存储到SharedPreferences中 203
6.3.2 从SharedPreferences中读取数据 206
6.3.3 实现记住密码功能 208
6.4 SQLite数据库存储 211
6.4.1 创建数据库 211
6.4.2 升级数据库 216
6.4.3 添加数据 219
6.4.4 更新数据 222
6.4.5 删除数据 224
6.4.6 查询数据 225
6.4.7 使用SQL操作数据库 228
6.5 使用LitePal操作数据库 229
6.5.1 LitePal简介 229
6.5.2 配置LitePal 230
6.5.3 创建和升级数据库 231
6.5.4 使用LitePal添加数据 236
6.5.5 使用LitePal更新数据 237
6.5.6 使用LitePal删除数据 240
6.5.7 使用LitePal查询数据 241
6.6 小结与点评 243
第7章 跨程序共享数据——探究内容提供器 244
7.1 内容提供器简介 244
7.2 运行时权限 245
7.2.1 Android权限机制详解 245
7.2.2 在程序运行时申请权限 249
7.3 访问其他程序中的数据 254
7.3.1 ContentResolver的基本用法 254
7.3.2 读取系统联系人 256
7.4 创建自己的内容提供器 260
7.4.1 创建内容提供器的步骤 261
7.4.2 实现跨程序数据共享 265
7.5 Git时间——版本控制工具进阶 275
7.5.1 忽略文件 275
7.5.2 查看修改内容 276
7.5.3 撤销未提交的修改 278
7.5.4 查看提交记录 279
7.6 小结与点评 280
第8章 丰富你的程序——运用手机多媒体 281
8.1 将程序运行到手机上 281
8.2 使用通知 283
8.2.1 通知的基本用法 283
8.2.2 通知的进阶技巧 289
8.2.3 通知的高级功能 291
8.3 调用摄像头和相册 293
8.3.1 调用摄像头拍照 294
8.3.2 从相册中选择照片 298
8.4 播放多媒体文件 303
8.4.1 播放音频 303
8.4.2 播放视频 307
8.5 小结与点评 311
第9章 看看精彩的世界——使用网络技术 312
9.1 WebView的用法 312
9.2 使用HTTP协议访问网络 314
9.2.1 使用HttpURLConnection 315
9.2.2 使用OkHttp 319
9.3 解析XML格式数据 321
9.3.1 Pull解析方式 324
9.3.2 SAX解析方式 326
9.4 解析JSON格式数据 329
9.4.1 使用JSONObject 330
9.4.2 使用GSON 331
9.5 网络编程的*佳实践 334
9.6 小结与点评 338
第10章 后台默默的劳动者——探究服务 339
10.1 服务是什么 339
10.2 Android多线程编程 340
10.2.1 线程的基本用法 340
10.2.2 在子线程中更新UI 341
10.2.3 解析异步消息处理机制 345
10.2.4 使用AsyncTask 347
10.3 服务的基本用法 349
10.3.1 定义一个服务 349
10.3.2 启动和停止服务 352
10.3.3 活动和服务进行通信 355
10.4 服务的生命周期 359
10.5 服务的更多技巧 359
10.5.1 使用前台服务 359
10.5.2 使用IntentService 361
10.6 服务的*佳实践——完整版的下载示例 365
10.7 小结与点评 378
第11章 Android特色开发——基于位置的服务 379
11.1 基于位置的服务简介 379
11.2 申请API Key 380
11.3 使用百度定位 384
11.3.1 准备LBS SDK 384
11.3.2 确定自己位置的经纬度 386
11.3.3 选择定位模式 391
11.3.4 看得懂的位置信息 393
11.4 使用百度地图 395
11.4.1 让地图显示出来 395
11.4.2 移动到我的位置 397
11.4.3 让“我”显示在地图上 400
11.5 Git时间——版本控制工具的高级用法 402
11.5.1 分支的用法 403
11.5.2 与远程版本库协作 404
11.6 小结与点评 406
第12章 *佳的UI体验——MaterialDesign实战 407
12.1 什么是Material Design 407
12.2 Toolbar 408
12.3 滑动菜单 415
12.3.1 DrawerLayout 415
12.3.2 NavigationView 418
12.4 悬浮按钮和可交互提示 423
12.4.1 FloatingActionButton 424
12.4.2 Snackbar 427
12.4.3 CoordinatorLayout 428
12.5 卡片式布局 430
12.5.1 CardView 431
12.5.2 AppBarLayout 437
12.6 下拉刷新 440
12.7 可折叠式标题栏 443
12.7.1 CollapsingToolbarLayout 443
12.7.2 充分利用系统状态栏空间 453
12.8 小结与点评 456
第13章 继续进阶——你还应该掌握的高级技巧 457
13.1 全局获取Context的技巧 457
13.2 使用Intent传递对象 461
13.2.1 Serializable方式 461
13.2.2 Parcelable方式 463
13.3 定制自己的日志工具 464
13.4 调试Android程序 466
13.5 创建定时任务 469
13.5.1 Alarm机制 469
13.5.2 Doze模式 471
13.6 多窗口模式编程 472
13.6.1 进入多窗口模式 473
13.6.2 多窗口模式下的生命周期 475
13.6.3 禁用多窗口模式 479
13.7 Lambda表达式 481
13.8 总结 485
第14章 进入实战——开发酷欧天气 486
14.1 功能需求及技术可行性分析 486
14.2 Git时间——将代码托管到GitHub上 489
14.3 创建数据库和表 494
14.4 遍历全国省市县数据 499
14.5 显示天气信息 509
14.5.1 定义GSON实体类 509
14.5.2 编写天气界面 514
14.5.3 将天气显示到界面上 520
14.5.4 获取必应每日一图 526
14.6 手动更新天气和切换城市 532
14.6.1 手动更新天气 532
14.6.2 切换城市 535
14.7 后台自动更新天气 540
14.8 修改图标和名称 542
14.9 你还可以做的事情 543
第15章 后一步——将应用发布到360应用商店 545
15.1 生成正式签名的APK文件 545
15.1.1 使用Android Studio生成 546
15.1.2 使用Gradle生成 548
15.1.3 生成多渠道APK文件 551
15.2 申请360开发者账号 554
15.3 发布应用程序 556
15.4 嵌入广告进行盈利 560
15.4.1 注册腾讯广告联盟账号 560
15.4.2 新建媒体和广告位 562
15.4.3 接入广告SDK 564
15.4.4 重新发布应用程序 569
15.5 结束语 570
坦白说,我购买这本书主要是为了学习一些进阶的Android开发技巧,特别是关于性能优化和大型项目架构设计的内容。虽然这本书定位是入门,但我相信它也应该包含一些能让有一定基础的开发者受益的知识点。我更关心的是它如何处理一些复杂场景下的问题,比如如何设计一个可维护性强、扩展性好的APP架构,如何进行有效的性能调优,以及如何处理一些异步操作和并发问题。当然,它作为入门书籍,在这些方面的内容可能不会太深入,但我还是希望它能提供一些初步的指导和思路,为我日后的学习指明方向。如果它能提供一些关于单元测试和代码规范的建议,那就更完美了。
评分这本书的理论知识讲解很扎实,让我对Android开发有了更宏观的认识。它不仅仅是罗列API,而是深入浅出地解释了Android系统的工作机制,比如进程管理、内存回收、多线程处理等等。这些内容对于提升APP的性能和稳定性至关重要,虽然我目前还接触不到非常复杂的场景,但提前了解这些,为我日后的深入学习打下了坚实的基础。书中的代码示例也经过了精心的设计,具有很高的可读性和可移植性,我可以直接借鉴其中的一些代码片段,并在此基础上进行二次开发。我特别欣赏它在讲解一些核心概念时,能够提供不同的实现思路和权衡,这让我能够更灵活地运用所学知识。总而言之,这是一本能够让你“知其然,更知其所以然”的书籍,非常适合想要深入理解Android开发原理的读者。
评分不得不说,这本书在基础知识的讲解上做得相当到位,它没有回避那些看似枯燥但又至关重要的概念,比如Activity的生命周期、Fragment的使用、Intent的传值等等。作者用了很多生动的例子来解释这些原理,让我这种曾经对Android开发感到畏惧的人,也能慢慢领悟其中的奥妙。特别喜欢它在讲解UI布局时,提供的多种方式和各自的优缺点分析,这让我能根据实际需求做出更明智的选择。我个人比较倾向于通过代码来控制UI,这本书在这方面提供了很多实用的技巧。而且,它也兼顾了XML布局的使用,让学习更加全面。对于那些需要快速上手做一些简单界面的开发者来说,这本书绝对是一个不错的起点。我已经迫不及待地想跟着书中的例子,自己动手敲代码,验证这些知识点,并尝试着去修改和扩展,看看能否实现一些更有趣的功能。
评分这本书的重点在于实际操作和项目实践,虽然我还在初期阶段,但能感受到它在引导读者一步步构建真实应用方面的努力。它不仅仅是知识点的堆砌,而是将零散的知识点串联起来,通过一个个小的项目,让读者在实操中巩固所学。我尤其关注它对于一些常用组件的讲解,比如ListView、RecyclerView、网络请求、数据库操作等,这些都是开发过程中不可或缺的部分。书中的代码清晰明了,并且有详细的注释,这对于我这种初学者来说,简直是福音。我期待着能够通过这本书,真正地完成我的第一个Android APP,并逐渐掌握解决实际开发问题的能力。它所提供的不仅仅是技术,更是一种解决问题的思路和方法。
评分这本书的包装和物流都非常令人满意,快递小哥很给力,书本完好无损,这点必须给赞!内容方面,虽然我还没有来得及深入研读,但从目录和前几章的浏览来看,它确实是面向初学者的,语言通俗易懂,代码示例也比较清晰。我特别看重它从零开始讲解的理念,这对于我这种完全没有接触过Android开发的人来说,无疑是打了一剂强心针。很多教程上来就讲一些高深的框架和概念,让人望而却步,而这本书似乎更能循序渐进,让新手一步步建立起信心。我之前尝试过一些在线的零散教程,总感觉不成体系,学起来断断续续,而一本系统的书籍能够让我有更清晰的学习路径,也能在遇到问题时,通过目录和索引快速找到相关章节进行回顾。书中的一些插图和图表也显得比较用心,能够帮助理解一些抽象的概念。当然,我更期待的是它在实际项目中的应用指导,能否真的带领我完成一个属于自己的APP,这是我购买这本书最主要的期待。
评分还可以
评分差评,还以为有光碟呢,发票也没有,质量也不行
评分还好吧,书总体来说还算不错,没有太大问题,应该是正版的
评分物流有点慢,其它还好
评分还可以,正品。物流速度杠杠的快
评分书应到是正品,底子不好有点看不懂!
评分还可以
评分东西哪家都有没必要摊上这事。
评分灰常好灰常好灰常好灰常好灰常好灰常好
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有