前言:公司最近来了不少应届实习生,看着他们充满信心但略带稚气的脸庞上,想到了去年的本身,那是的我是否是也和 html 如今的他们同样呢?如今的我又改变了什么?公司的给这些实习生指定的相关培训制度仍是比较完善的(我但是个菜鸟)。但我反 android 过来想,假如是我,我会制定一个怎样的短时间或者长远的计划?总结了本身学到的知识,造成了一个学习线路,但愿能给予同 sql 道中人一点儿小小帮助。 shell 毕业8月有余,同时伴随着从事Android开发的经验的提高。仔细思量过去的工做内容,掐指算来也是少得可怜---主要维护FM收 数据库 音机模块,间或看看Lancher模块的代码。尽管这样,总的来讲,在这八个月事件的学习里,我自我感受收获仍是很大的---自学了不少 网络 Android相关方面的知识。虽然里真正的大牛还有很远的一段路程要走,本身也会坚持学习、坚持走下去。 框架
再次,把本身学习过程当中总结的一些经验总结出来,帮助那些刚刚步入Android的网友以及有了取得了一些经验但不知如何 ide 继续前行的朋友,但愿大家可以早日在Android世界里看到但愿的曙光。同时欢迎各位朋友拍砖。 学习 另外,本文总结的一些学习线路都是针对于Java上层应用开发的。对中间层相关开发并无涉及到。 url 1、 基础篇 须要掌握的技能以下: 1、熟练掌握基本控件以及容器控件的使用 ; 经常使用的基本控件有:Button 、TextView、EditText、ListView等 经常使用的容器控件有:FrameLayout、LinearLayout、RelativeLayout等 2、熟练掌握相关监听器的注册和使用: 经常使用监听器有: OnClickListener、OnLongClickListener、OnItemClickListener等 3、掌握Log的使用以及分析方法 ; 4、掌握Activity、Service的生命周期和使用方法 ; 5、掌握BroadcastReceiver(广播)的接受和使用 ; 6、掌握Intent以及IntentFilter的使用 ; 7、基本掌握数据库方面知识,包括SQLiteDatabase以及ContentProvider的使用方法
除此以外,咱们必须得掌握adb shell 的使用方法,经常使用功能有: adb pull 、 adb push 、 adb remount 指令等 因为shell类同于Linux shell ,咱们还得掌握基本的Linux指令等,例如cat、cd 等 。 知识获取渠道主要为: Android SDK以及网上大牛的博客。 附: 关于基础知识的介绍,国内的一些书籍质量真是至关差劲,味同嚼蜡。强烈不建议在此阶段买书籍。
这时,您已经小有所成了,可以基本掌握Android开发了。这儿,我推荐一个手把手讲解Android项目的视频: zhengping老师讲解的,强烈推荐。 视频下载地址:http://www.verycd.com/topics/2847310/ 祝您一臂之力的固然还有Mars老师的视频了。 实践出真知。这个阶段,你能够本身编写一些小Demo了,帮助本身在更深层次发展了。 PS:我经过看了Mars老师视频后,编写了一个简易的音乐播放器Demo, 感受挺有成就感的。 经过前面的学习,咱们能够成功进入第二个阶段了。 2、 提升篇 须要掌握的技能以下: 1、掌握Canvas类的使用-- 如何绘图 2、掌握消息通讯机制---Handler相关类的使用以及原理 3、掌握Context类以及实现原理 4、掌握View树的绘制流程 。 View绘制流程很重要,掌握它就基本上掌握了Android核心之一了。 4.1、掌握触摸事件的分发流程--- onInterceptTouchEvent以及onTouchEvent方法流程 4.2、掌握相关监听器的调用机制。例如OnClickListener监听时怎么调用的? 4.3、可以编写自定义View以及ViewGroup 5、理解Binder机制----Binder机制很重要,Android的进程间通讯都是靠它完成的。掌握它,才可以好的完成接下 来的学习。 6、基本掌握ActivityManagerService类的使用,主要掌握的知识点包括以下: 6.1、startActivity()流程,即启动一个Activity的流程 ; 6.2、startService()流程,即启动一个Service的流程 ; 7、基本掌握PackageManagerService类的使用,主要掌握的知识点包括以下: 7.1、开机时如何解析全部已安装应用程序的Apk包的信息 7.2、Intent以及IntentFilter的匹配规则以及解析过程 8、基本掌握View添加至窗口的过程---即WindowManagerIml 、WindowManagerService类的用法 知识渠道: 网上相关大牛的博客。 (我这一亩三分地也有点货咯。(*^__^*) )
必备书籍: <Android内核剖析>
Android源代码一份 PS: 您的我的电脑上必定得有份 Android源代码,不然何以笑傲江湖 。 3、 进阶篇 1、基本理解SystemServer类加载流程以及WatchDog的功能 2、more......
我也仍是个小菜鸟,更多的就不知道咯。但愿之后可以完善起来。和你们共同成长。 最后,我总结的一些学习知识点只是一个提纲挈领,帮助你们学习成长的点或者线。例如:我负责通信录模块,固然得把数据 库方面知识弄得一清二楚啊。否则,公司要我何用。所以你们在学习的时候,找出更适合本身的点。 有些人可能会想,工做中我用不到,学它干吗?再次也规劝你们在工做之余,给本身充充电,多学点知识只有好的没有坏的。
但愿你们天天能进步一点,成长一点,接近心目中的那个天空更近一点。 前面说的博客,在此推荐两个我常去的吧:
1、 应用方面,主要是魏祝林的csdn博客 :http://blog.csdn.net/Android_Tutor 。 但他的博客主要是以代码为主, 须要本身结合源代码揣摩 。 2、 框架方面,主要是老罗的csdn博客 : http://blog.csdn.net/Luoshengyang/ 。 但他的博客主要是以流程分析 为主, 而对 流程 须要的前期准备知识介绍不足,初步看起来比较难以理解,所以,买本《Android内核剖析》是必须 的,能够参考源代码仔细领悟, 强烈推荐该书籍。
因为网络上Android源码不太好找,特此共享下Android部分源码,主要包括框架层、中间层、以及一些App等,对上层开发 和中间层开发仍是颇有益处的:
源码对应目录: 下载地址:
frameworks http://115.com/file/dpna22jr#frameworks.rar packages [url]http://115.com/file/dpnay9ug#packages.rar[/url] kernel [url]http://115.com/file/anqptq4l#kernel.rar[/url] ndk [url]http://115.com/file/c2libfmk#ndk.rar[/url] system [url]http://115.com/file/beh14i2o#system.rar[/url] |