具体描述
《Android应用开发进阶》为Android应用开发进阶的参考用书,旨在帮助Android开发者能够快速有效地掌握Andriod应用开发进阶相关的知识点。《Android应用开发进阶》内容为Android应用开发热门的话题,包括自定义控件、第三方组件的使用和实现原理、Android应用架构等。《Android应用开发进阶》提供了一个知识问答与分享的实战案例,包括Java版本和Kotlin版本,方便读者完成从Java到Kotlin的平滑过渡,读者朋友可根据该案例搭建属于自己的应用架构。
希望《Android应用开发进阶》能够帮助读者朋友在工作中解决实际问题,提升Android应用开发水平和能力。
《Android应用开发进阶》适用于具有Android开发经验的读者或工程师。对于初级开发者,本书可作为进阶的参考用书,对于高级开发者,《Android应用开发进阶》也具有一定的参考价值。
作者简介
目录信息
1.1 View的绘制流程
1.1.1 View和ViewGroup
1.1.2 View的绘制流程
1.1.3 ViewGroup的绘制流程
1.1.4 View绘制流程深入解析
1.2 View的触摸事件
1.2.1 触摸事件的类型
1.2.2 触摸事件的传递过程
1.2.3 事件传递细节
1.3 自定义控件常用方法总结
1.3.1 绘制流程相关
1.3.2 事件处理相关
1.3.3 其他
1.4 自定义控件案例
1.4.1 柱状图
1.4.2 折线图
1.4.3 曲线图
1.4.4 渐变圆弧进度条
1.4.5 卡片滑动切换
1.4.6 ViewPager圆形指示器
1.5 自定义控件性能优化
第2章 轮子
2.1 AppBrain平台
2.2 Butter Knife
2.2.1 编译时注解
2.2.2 Element
2.2.3 编译时注解案例
2.2.4 Butter Knife源码分析
2.2.5 Butter Knife Zelezny插件的实现
2.3 EventBus
2.3.1 EventBus的使用
2.3.2 EventBus源码分析
2.3.3 EventBus 3.0索引加速
2.4 Dagger2
2.4.1 Dagger2的使用
2.4.2 Dagger2源码分析
2.4.3 Dagger2进阶
2.4.4 Component之间的关系
2.4.5 Dagger.Android
2.5 OkHttp
2.5.1 OkHttp的使用
2.5.2 OkHttp源码分析
2.6 Retrofit
2.6.1 Retrofit的使用
2.6.2 Retrofit源码分析
2.7 Volley
2.7.1 Volley的工作流程
2.7.2 Volley的使用
2.7.3 Volley的封装
2.7.4 Volley源码分析
2.8 RxJava
2.8.1 RxJava的使用
2.8.2 RxJava的源码分析
第3章 Android应用架构
3.1 todo-mvp
3.1.1 MVP
3.1.2 todo-mvp的实现
3.2 todo-mvp-clean
3.2.1 Clean架构
3.2.2 Clean架构的Android实现
3.2.3 todo-mvp-clean的实现
3.3 todo-mvp-dagger
3.3.1 AppComponent
3.3.2 依赖注入
3.4 todo-mvp-rxjava
3.5 todo-mvvm-databinding
3.5.1 MVVM
3.5.2 Data Binding Library
3.5.3 todo-mvvm-databinding的实现
3.6 todo-mvvm-live
3.6.1 Architecture Components
3.6.2 todo-mvvm-live的实现
第4章 AndroidPlus项目实战
4.1 需求分析
4.2 产品设计
4.2.1 Material Design
4.2.2 思维导图
4.2.3 架构设计
4.3 Java实现
4.3.1 项目准备
4.3.2 Dagger集成
4.3.3 欢迎界面
4.3.4 登录注册
4.3.5 主界面
4.3.6 首页
4.3.7 问题详情
4.3.8 回答详情
4.3.9 评论
4.3.10 分享文章
4.3.11 文章
4.3.12 个人中心
4.3.13 用户详情
4.3.14 异常上报、运营统计和应用升级
4.3.15 代码混淆
4.4 Kotlin实现
第5章 开发实践
5.1 Android Studio中的Git实践
5.1.1 创建远程仓库
5.1.2 .gitignore
5.1.3 提交和推送
5.1.4 分支
5.1.5 获取(Fetch)
5.1.6 拉取(Pull)
5.1.7 衍合(Rebase)
5.1.8 Git Flow
5.1.9 分支合并
5.1.10 移动HEAD
5.1.11 贮藏(Stash)
5.1.12 重置(Reset)
5.1.13 遴选(Cherry Pick)
5.2 Android屏幕适配
5.2.1 屏幕相关概念
5.2.2 图片适配
5.2.3 dimen
5.2.4 weight
5.2.5 百分比布局
5.2.6 ConstraintLayout
5.2.7 平板适配
5.2.8 RTL布局
5.3 Android视频播放器
5.3.1 ijkPlayer
5.3.2 Vitamio
5.3.3 PLDroidPlayer
5.3.4 测试开发
5.4 声网直播实践
5.4.1 频道列表
5.4.2 视频群聊
· · · · · · (收起)
读后感
用户评价
我本来是满怀期待地想深入研究一下Android底层机制和架构设计的,但这本书给我的感觉是,它停留在非常基础的API调用层面,而且很多地方的讲解都显得捉襟见肘,缺乏深入的剖析。比如讲到内存管理时,只是泛泛地提了一下垃圾回收(GC)的概念,但对于Android特有的内存优化策略,比如App Standby Buckets或者如何有效地使用内存映射文件(MMap)来处理大文件,这本书完全是避而不谈。我以为“进阶”意味着会涉及到协程背后的调度器原理,或者最新的Jetpack库中那些复杂的依赖注入框架是如何在幕后运作的,但通篇下来,感觉更像是一本优秀的新手教程的升级版,内容深度完全没有达到我的预期。对于一个有一定经验的开发者来说,这本书提供的知识点大多都是在官方文档里能轻易找到的,而且官方文档的解释往往更加精确和及时更新。我花了时间去阅读,结果发现我只是在巩固已经掌握的东西,这完全浪费了我的学习时间。
这本书的排版简直是一场灾难,我拿到手的时候就感觉像是打开了一个上个世纪的编程手册。纸张质量粗糙得让人怀疑人生,油墨蹭得我手指上都是,阅读体验极差。更别提那些代码示例了,字体小得跟蚂蚁爬一样,颜色对比度也做得莫名其妙,有时候一行代码的几个关键部分颜色深浅不一,完全不知道作者想突出什么。我花了大量的精力去分辨那些模糊不清的符号和关键字,光是这点就消耗了我大量的耐心。而且,这本书的插图和图表更是让人摸不着头脑,那些流程图看起来像是用最基础的绘图工具随便画了几笔,箭头指向不明,关键步骤的标注缺失或者干脆就是一堆难以辨认的方框,完全没有起到辅助理解的作用,反而增加了理解的难度。我不得不说,如果作者在书籍的物理呈现上都如此敷衍,那么他对内容的深度和准确性的把控,也必然是令人担忧的。这哪里是“进阶”书籍,简直是强迫读者进行一场视觉和精神的双重折磨。
作者的写作风格过于学术化和晦涩难懂,完全没有考虑到读者是需要将这些知识快速应用到实际项目中的工程师。书中充斥着大量的专业术语,但这些术语往往没有给出清晰的、直观的解释或者实际应用场景的对比。比如,当涉及到Binder机制或者类加载器(ClassLoader)的细节时,作者似乎倾向于直接引用技术规范中的描述,而非用更贴近日常开发经验的语言进行阐述。这种“一上来就讲原理的顶层设计”的做法,对于需要快速解决当前开发瓶颈的读者来说,简直是灾难。我需要的是能够指导我如何在特定场景下优化性能、解决崩溃的实用技巧,而不是一篇晦涩难懂的论文摘要。结果,我读完一个章节后,脑子里留下的只有一堆陌生的名词,却不知道如何在我的App中利用这些知识点去实现任何有意义的改进。这本书更像是一本理论参考手册,而非一本实用的开发进阶指南。
关于代码示例的实用性和现代性,这本书的表现令人失望。很多示例代码仍然在使用一些已经被Google推荐弃用的旧API或者过时的设计模式。例如,在处理异步任务时,书中似乎还在大力推荐使用AsyncTask,对于Kotlin Coroutines的深入应用和状态管理几乎没有涉及,这在当今的Android开发环境中是完全不合时宜的。我尝试将书中的部分代码片段迁移到我的现代项目中时,发现需要做大量的重构工作,甚至要替换掉核心的架构组件,这不仅增加了我的工作量,更让我对作者对当前主流开发范式的掌握程度产生了怀疑。一个“进阶”系列的图书,理应引领读者走向最前沿、最高效的实践方法,而不是将我们拉回到几年前的代码风格中。这不仅没有帮助我们解决实际问题,反而可能导致我们学到一些需要被淘汰的“坏习惯”。
这本书的叙事逻辑简直是混乱不堪,感觉像是把不同时间点学到的零散知识点堆砌在一起,缺乏一个贯穿始终的主线。它一会儿讲到了权限管理,下一章节突然跳到自定义View的绘制流程,再下一段又开始讨论如何优化数据库查询性能,这种跳跃性使得读者的思维难以集中和建立知识体系。更要命的是,章节之间的知识点衔接生硬,作者似乎默认读者已经知道前置知识,但又没有在当前章节做足够的铺垫或回顾。我经常需要翻阅前面的章节,甚至不得不去查阅其他更基础的资料来弄清楚作者是在讨论哪个具体场景下的API。如果这是一本系统性的进阶指南,那么它的结构应该是一个层层递进的知识塔,但这本书更像是一个装满了各种工具的杂乱工具箱,你得自己花大力气去整理,才能找到你真正需要的那一把螺丝刀。这种组织方式极大地拖慢了我的学习效率。
不是入门书籍,看这本书需要有扎实的技术基础,或者说与作者有相同的理解和源码阅读量,那么这本书就失去了普适性了,如果有作者的理解能力,那么这本书就是去了解一下作者的看法吧。
不错,原理和实用性方面都做到了比较好的兼容。
不错,原理和实用性方面都做到了比较好的兼容。
不是入门书籍,看这本书需要有扎实的技术基础,或者说与作者有相同的理解和源码阅读量,那么这本书就失去了普适性了,如果有作者的理解能力,那么这本书就是去了解一下作者的看法吧。
不错,原理和实用性方面都做到了比较好的兼容。