前言
不知不觉已经过了半年,而在这半年里我跟另一位伙伴顺利完成了这本关于Android(安卓)面试方面的技术书。虽然编写过程辛苦,但一想到可以把自己一直以来总结的知识与经验分享给大家,就有种莫名的兴奋感,这也是我们撰写本书的初衷,希望能对正在学习安卓的或者决定要学习安卓开发的朋友有所帮助,哪怕是只有一点,只要能帮助到各位,这样也足矣。
回想大学毕业时,还没确定好自己该往哪个方向去走向编程这个1/0世界,因为马上又是求职季,感觉自己Java基础还行,所以从此就选择安卓开发这条路了。直到现在,自己虽然早已不是当初那个懵懂的菜鸟,但在安卓开发上,也一直碰到很多问题。庆幸的是,我都坚持下来,一直系统地学习安卓知识,锻炼自己的编程能力,不断积累自身的项目经验。
所以我始终认为,要学习好安卓,或者是其他编程语言,都要坚持。再一个就是要选对方法,怎样在学习的过程中避坑,而不是一股脑地坚持就行了。我开始学习安卓的那段时期经常会不明所以然,后来自己不断去看相关书籍和网上的大神写的技术文章,这才知道是因为自己关于安卓的知识面太窄了,限制了我的思维。可是就算知道自己知识面窄又能怎样,毕竟一个人的知识体系并不能一下子就丰富起来。所以这时我想到了可以先收集安卓开发中各种知识点的简介,因为通常这些简介都涵盖了对各种知识点的作用的描述,然后我再把它们制作成思维导图,这样虽然不能短时间把所有知识都琢磨透,但起码让我知道它们是干什么的,有什么用,这样我脑海中就形成了一个框架,能把开发中的知识点串联起来,就不会再有那种迷惘感,学习起来也更加高效了。先宏观了解大概,让自己有个知识框架,然后过关斩将,循序渐进地攻克每一个知识点。
最后,既然是从事开发工作,那就一定要实践,编程能力才是你的核心竞争力,努力写好你的代码。
本书内容
本书涵盖了Java基础、Android四大组件(Activity、Service、ContentProvider和BroadcastReceiver)、布局、自定义View、动画框架、常用的第三方框架(Rxjava、Retrofit、OkHttp和Glide等)、消息异步机制、事件分发机制、MVC/MVP/MVVM和跨进程通信等知识点的讲解,这些知识点不仅在面试的时候经常考察,在实际开发中也是经常要用到的。所以本书将着重详细讲解它们,让大家能切实理解,务必让看本书的读者能培养自己思考问题的思路。毕竟随着技术的发展与进步,安卓开发所涉及的东西也会越来越多,这样公司对面试者的要求也会越来越高,考核的面试题的内容和难度也会随之变多与加深。但是,万变不离其宗,只要掌握了每个知识点以及它的解题思路,那么不仅能用于面试,在开发上也会水到渠成。而本书正是基于这样的目的来讲解有关安卓开发中的知识以及面试题。
致谢
直到现在,我还不敢相信自己能完成本书的撰写。这半年的时间,要感谢的人太多,没有他们,我恐怕是完成不了本书的。
首先,我要在这里感谢《Java程序员面试笔试宝典》的作者何昊先生与薛鹏先生。当初,我还是一名默默无闻的安卓码农,在微信公众号上偶尔发表一些自己总结的技术文章。何昊先生在看了我公众号上的文章后,邀我写一本关于安卓面试方面的书,而我也最终在他的鼓励下踏上了写书的道路。薛鹏先生也在我编写本书的过程中给予了很大的帮助。还有,机械工业出版社计算机分社时静副社长与尚晨编辑,感谢你们为本书给出的建议与帮助。
其次,我要感谢我的父母,因为没有你们背后的支持与理解,我是完成不了本书的编写。
最后
尽管我们已经尽力去编写了,但毕竟精力有限,可能也会在某些知识的讲解过程中出现纰漏与错误,恳请读者批评指正,也希望大家能将发现的问题向我反馈,不胜感激。除此之外,也欢迎大家与我联系,交流安卓或者编程相关的问题。
编者