封面 文件夹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师可以选择自己感兴趣的部分进行阅读。实战演示样例部分须要第二部分的知识。因此,在阅读最后一章时,假设你学习了第二部分的知识,那么理解效果会更好。

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

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

Androidproject师进阶之路 :《Android开发进阶:从小工到专家》上市啦!的更多相关文章

  1. 推荐扔物线的HenCoder Android 开发进阶系列 后期接着更新

    官网地址:http://hencoder.com/ 我来做一次辛勤的搬运工 HenCoder:给高级 Android 工程师的进阶手册 HenCoder Android 开发进阶: 自定义 View ...

  2. 《android开发进阶从小工到专家》读书笔记--HTTP网络请求

    No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服 ...

  3. android开发进阶学习博客资源

    Android开发者博客推荐 Android入门级 - 罗宪明 http://blog.csdn.net/wdaming1986 Android入门级 - 魏祝林 http://blog.csdn.n ...

  4. Android开发进阶:如何读写Android文件

    Android主要有四大主要组件组成:Activity.ContentProvider.Service.Intent组成.Android文件的运行主要需要读写四大组件的文件.本文将介绍如何读写Andr ...

  5. Android开发进阶——自定义View的使用及其原理探索

    在Android开发中,系统提供给我们的UI控件是有限的,当我们需要使用一些特殊的控件的时候,只靠系统提供的控件,可能无法达到我们想要的效果,这时,就需要我们自定义一些控件,来完成我们想要的效果了.下 ...

  6. Android开发进阶 -- 通用适配器 CommonAdapter

    在Android开发中,我们经常会用到ListView 这个组件,为了将ListView 的内容展示出来,我们会去实现一个Adapter来适配,将Layout中的布局以列表的形式展现到组件中.     ...

  7. Android设置图片内存溢出(OOM)问题——Android开发进阶之路6

    ImageView设置图片必备常识技术: Android设备会给每个应用分配16M的内存空间,如果你设置的图片的比较大且同一个页面有多个时,经常会报OOM错误导致程序奔溃.所以在这种情况下我们必须要对 ...

  8. android 开发进阶自定义控件 类似 TextView

    开发自定义控件的步骤: 1. 继承View: 2.重写构造函数并构造方法中获得我们自定义的属性. 3. 重写onDraw, 4.重写onMeasure 等函数 一.自定义View的属性,首先在res/ ...

  9. android 开发进阶 自定义控件-仿ios自动清除控件

    先上图: 开发中经常需要自定义view控件或者组合控件,某些控件可能需要一些额外的配置.比如自定义一个标题栏,你可能需要根据不同尺寸的手机定制不同长度的标题栏,或者更常见的你需要配置标题栏的背景,这时 ...

随机推荐

  1. JavaScript的数组详解

    #转载请留言联系 创建数组 1.通过new Array()进行创建 var arr1=new Array(); 2.通过中括号进行创建 var arr2=[]; 计算数组的长度 var arr3=[' ...

  2. 《Java编程思想》笔记 第十章 内部类

    1.创建内部类对象 创建内部类对象(相当于new内部类对象) 外围类对象.new 内部类( ). 创建内部类对象一种方法是 外围类有一个方法返回内部类对象. 没有外围类对象就不能创建内部类对象,因为内 ...

  3. Selenium2+python自动化72-logging日志使用【转载】

    前言 脚本运行的时候,有时候不知道用例的执行情况,这时候可以加入日志,这样出现问题后方便查阅,也容易排查哪些用例执行了,哪些没有执行. 一.封装logging模块 1.关于logging日志的介绍,我 ...

  4. 【hdoj_1051】WoodenSticks

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1051 题意可以理解为:给定若干个二元数对,要将这些数对分为不同的组,同一组中的若干个二元数对可以排列成一个 ...

  5. redis设置慢查询日志

    Redis 的慢查询日志功能用于记录执行时间超过给定时长的命令请求, 用户可以通过这个功能产生的日志来监视和优化查询速度. 1.redis生命周期 慢查询发生在第3阶段 2.两个配置 2.1.slow ...

  6. 实战WCF中net.tcp和net.msmq绑定协议

    平时很少写博文的,以前都是转载其他园友的文章,这几天有时间就自己尝试写一些wcf相关的文章,希望能给有需要的人带来一点帮助吧,水平有限再加上初次动手,写得不好还请多多包含!废话不多说了直接进入正题. ...

  7. Bot Framework测试

    在开发完成Bot Framework后,在本机的模拟器都是成功的,但未知在发布后会出现什么样的问题,所以需要将本机发布的站点给到Bot 1.在Bot Framework注册一个Bot,打开Bot Fr ...

  8. 设置每个datanode里面的map数目,提高运行效率

    首先可以通过hdfs.site.xml下面的dfs.block.size来设置数据的块大小,这个参数会决定map的总数目(4194304=4m) 然后通过mapred.site.xml下面的mapre ...

  9. [Contest20171109]函数(lipshitz)

    大M正在学习函数的光滑性并对Lipshitz常数非常感兴趣:当一个定义域为$[l,r]$的函数$f$,对于定义域内的任意$x,y$都有$\left|f(x)-f(y)\right|\leq K\cdo ...

  10. 千克与磅之间的转换 Exercise05_05

    /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:千克与磅之间的转换 * */ public class Exercise05_05 { public static void ...