首页 > 代码库 > Androidproject师进阶之路 :《Android开发进阶:从小工到专家》上市啦!

Androidproject师进阶之路 :《Android开发进阶:从小工到专家》上市啦!

封面 文件夹1 文件夹2
技术分享 技术分享 技术分享

- 当当购买链接
- 京东购买链接

为什么写这本书

写这本书的念头由来已久了。

或许是从我打算写《Android源代码设计模式解析与实战》那时起就萌生了这个念头,由于设计模式属于仅次于架构之下的局部战术。阅读这类书籍可以让具备一定工作经验的开发者提升自己的设计能力,构建更灵活的软件。可是。对于初、中级project师而言,最重要的还是在于基础知识以及知识广度的掌握上。因此,在《Android源代码设计模式解析与实战》交稿之后,我就马上開始了本书的写作之旅。

从面试经历和与开发群中网友的交流中。我发现非常多有一定工作经验的开发者对于Android的基础知识都还仅仅停留在“会用”的阶段,而对于其基本原理一概不知。以至于工作多年之后依然停留在非常表面的层次。这种知识结构的程序猿往往是一旦开发的系统出现故障或者须要优化时就不能应对了。

因此。细致阅读一本深入讲述Android核心开发知识点的书是非常有必要的。

眼下。图书市场上关于Android的入门书籍大多是覆盖整个Android开发知识体系。这类书籍的特点是解说的知识面多,也正是这个原因使得这类书籍缺乏深度,往往仅仅是点到即止。比如。关于网络请求的技术。通常仅仅解说怎样发送一个GET请求,可是。对于HTTP原理不会涉及,这使得非常多读者在定制一些请求时根本无从下手,如上传图片、參数格式为Json等。

还有一个问题就是。非常多开发者即使从业多年。可能都不知道什么是单元測试,不知道重构、面向对象基本原则,这使得他们的代码耦合度可能非常高,难以測试和维护,这样带来的后果就是质量没法保证,随着时间的推移系统逐渐“腐化”。

因此,读一本讲述设计软件的书也是必要的。

本书的目的就是解决上述两个问题,首先对Android开发的核心知识点进行深入解说。然后介绍单元測试、代码规范、版本号控制、重构、架构等重要知识点,使得读者在深入技术的同一时候开阔眼界,可以以更专业的方式设计应用软件,帮助读者完毕从仅仅会实现功能的“码农”到软件project师、设计师的过渡。

本书的特色

本书主要分为3部分,第一部分是前6章,在第一部分中深入解说了Android开发过程中的核心知识点,包含View与动画、多线程、网络、数据库、性能优化,使得读者深入了解开发中最为重要的知识;第二部分是第7~11章,涵盖的内容包含代码规范、单元測试、版本号控制、OOP与模式、重构等内容,从代码规范化、专业化的角度着手。开阔读者的眼界,使读者具备构建低耦合、灵活性强的应用软件的基本能力。最后一部分是第12章,在第12章中通过一个完整的演示样例,演示了怎样把一个充满问题的应用软件逐步演化为低耦合、清晰、可測试的实现过程,在当中展示了常见的重构手法、測试手段,使读者从真实的演示样例中汲取知识与经验,提升技术与设计能力。绕过编程中的诸多陷阱。

当然。书中的知识点非常多都仅仅是做了部分解说,起到一个抛砖引玉的作用,因此。假设须要更深入地了解各领域的知识,希望读者阅读其它专业书籍。

面向的读者

本书面向的读者为初、中、高级Androidproject师。

本书的定位是学习Android开发的第二本书,因此,阅读的前提是读者须要有一定的Android开发知识。在阅读完本书之后,读者还可以选择《Android群英传》《Android开发艺术探索》《Android源代码设计模式解析与实战》等书进行更深入地学习,从更深、更高的层次提升自己,完毕从“码农”到专家的蜕变。

怎样阅读本书

本书从总体结构上分为3部分,分别为Android核心开发知识、规范化与专业化开发基本知识、实战演示样例。初、中级project师建议阅读全书。高级project师可以选择自己感兴趣的部分进行阅读。实战演示样例部分须要第二部分的知识。因此,在阅读最后一章时,假设你学习了第二部分的知识,那么理解效果会更好。

判定你是否须要阅读某个章节的标准是。当你看到标题时是否对这个知识点了然于心,假设答案是否定的,那么阅读该章节还是非常有必要的。当然,通读全书自然是最好的选择。

“纸上得来终觉浅,绝知此事要躬行”,这放到不论什么一本书中都适用。因此,阅读本书时建议又一次完毕书中的演示样例,然后进行思考,从中体会为什么要这样做。这样做得到的优点是什么。读书、实践、思考结合起来,才会让你在技术道路上跑得更快、更远。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

Androidproject师进阶之路 :《Android开发进阶:从小工到专家》上市啦!