Android入门教程之我见

  真正的从安卓入门学习到实际工做也差很少一年时间了,也作了几个项目。在这期间经历了一开始学习Android的基本知识后仍旧无从下手,不知道如何开始开发一个app,到如今也开始学会注意Android架构的设计优化,学会开始阅读源码,渐渐地向Android更高级的知识进阶。android

  首先要感谢一下Google把Android开源了,加上Android开发人员十分活跃且富有分享精神,这才让网上关于Android的资料十分丰富,每每遇到一个问题都能从网上找到答案,这对于初学者特别是靠自学没有人带的状况下提供不少的帮助。可是咱们不能知足于“拿来主义”,不少人作过几个项目后也很快就上手了,可以根据需求快速设计UI,可以使用经常使用的API,对一些第三方的开源库使用也十分熟练,可是是否是仅仅这样就够了?若是是这样的其实表明你仍是处于初级水平,不少高校实习生或者培训机构出来的都能完成这样的工做。因此咱们不该该故步自封,仍是要活到老,学到老~git

  好了,废话很少说。我想从我本身的学习经历总结一下,但愿对之后的学习Android开发的人有一点帮助吧。github

  一、关于Java学习数据库

      对于彻底的新手,总有个疑问。是否要把Java精通了才能开始去学习Android。从我本身的经验来看,彻底没有必要。Android开发使用的Java语言的语法知识都是是否基础的,若是你已经有一门编程语言,例如C,C++甚至是脚本语言Python,JavaScript,学习Java的基础知识其实很快。我本身是科班出身的,咱们学校是大三才开的Java课程,大一大二就学过C,C++。若是你有一些基础的话,根据每一个人的基础不一样学习的速度也不同,可是不要陷入到语法细节里面。最后的方法是在学习后立刻实践,在实践中学习才是最快的。在基础知识了解得差很少了就能够开始学习Android开发的基础知识了。可是若是之后你想向更高级的路走就有必要回过头来把Java的一些高级知识了解一下了。关于Java基础的我认为只要先了解一下基本的语法知识,面向对象的三个特色,文件、String、异常处理,固然经常使用的数据结构数组,哈希表是用得最多的。后面能够再回头来了解泛型、注解、并发这些知识。对于图形化Swing、SWT不须要去看。在这期间推荐一些书籍《Head First Java》(给彻底0基础的,没有学过任何编程语言的),《Thiking in Java》(这本书给有基础的看吧),后面更高级的就看《Effective Java》,还有了解一些常见的设计模式,数据结构。有些人喜欢看视频,对于视频来讲入门还能够,可是后面更高级的技巧仍是得看书,并且不少最新的知识每每只有文档,官网。因此能看书尽可能看书吧。编程

  二、关于Android入门设计模式

  终于到正题了,对于新手来讲Android的入门资料其实网上也有一堆,可是质量良莠不齐,选对好的入门资料可让你少走不少弯路,相反若是选了一些质量差的资料甚至会误导你,磨灭你的兴趣和热情。因此我在这里主要想分享一些我我的认为比较好的入门资料和一些学习方法吧。若是是以前没有什么项目经验的话,能够先看郭霖的《第一行代码》,这本算是国内入门书籍比较不错的,可让你对Android的总体有个大概了解,书的内容很少,对那些想快点动手实践作点小东西的人不错。若是想更全面的入门的话能够接着看《Android编程权威指南》国外的一本教程,虽然书中将的是SDK比较早的版本,大概是4.x的,可是核心的概念都基本有了,并且是经过实际几个小项目来说解的。书中里面的主要有两个重点项目,一个是相似记录办公室不文明行为的应用,介绍了Activity,Fragment,Intent等知识。第二个项目是一个照片墙app,主要涉及到更高级一点技巧图片,网络请求,xml解析等,也是十分有用的。基本弄熟了这两个项目就能够去找工做了。数组

  三、Android开发进一步学习网络

  固然,在实际的公司中的项目不会像书中的那么简单。可是这个时候对于新人来讲能够先从网上找到许多解决方案。不少牛人写的许多开源库就能够拿来用了,不必重复造轮子,并且就算本身造还没人家的好用。因此这个时候就能够多逛逛GitHub,一些牛人的博客,官方文档,安卓开发社区等。下面推荐几个好的资源连接:数据结构

  • http://www.androiddevtools.cn/ Android开发工具下载网站
  • http://blog.csdn.net/vipzjyno1/article/details/23542617 Android开发规范
  • http://stormzhang.com/android/2014/07/07/learn-android-from-rookie/ Android达人stormzhang的入门经验
  • http://mmclub.github.io/blog/2014/04/03/start-learning-android/ 另外一个达人的入门经验
  • http://www.jianshu.com/p/874ff12a4c01 仍是入门经验,能够多看看,少走弯路
  • https://github.com/Trinea/android-open-project 国人收集的许多好用的开源工具,基本涵盖了Android开发的“轮子”。
  • https://github.com/wasabeef/awesome-android-ui 许多不错的UI控件
  • https://github.com/futurice/android-best-practices/blob/master/translations/Chinese/README.cn.md 讲实际开发的一些规范和注意点
  • https://github.com/FX-Max/Point-of-Android 涉及到Android一些机制原理

  大概就这么几个,还有最主要的一些开发社区GitHub就不用说了,国内的话能够看看稀土掘金不错,有空的也能够逛逛知乎上的Android内容。架构

 

  四、关于Android开发进阶

  在这个阶段就须要开始了解Android一些机制后面的原理了,为何它要这么设计。还有能够关注一些Android最新的最流行的技术,能够对app开发进行优化,从架构的角度上来思考。这个时候最好的学习方法固然是去阅读源码,经过源码了解Android应用层背后的东西,好比:

  • View视图绘制过程,若是网上没有合适的UI组件,能够用来自定义一些视图。
  • 事件分发机制,能够解决实际项目中遇到的一些例如滑动冲突的bug。
  • 消息处理机制,了解handler,message,queue的工做原理。
  • 异步任务AsyncTask机制(不过如今最流行的能够用RxJava,RxAndroid来替代)。
  • Binder机制,了解Android如何实现IPC原理
  • 了解Activity,Fragment,Service生命周期原理,组件通讯Intent等
  • 对于UI,可能要考虑到屏幕适配的问题,主要其实就两点,一个是使用Fragment,一个是资源文件管理。
  • 还有一些网络请求,图片处理,数据库等最好是去看一下那些优秀的开源框架的源码

  书籍的话国内有一本《Android开发艺术探索》,网上评价不错,我本身还没看过。

 

  五、给个学习路线图,有目标学习起来也比较明确

  

  

 

  主要也就这些,后面有新的东西会继续更新...加油吧,少年!咱们要相信前途是光明的~~

相关文章
相关标签/搜索