转载请注明出处:http://blog.csdn.net/qinjuning
?
?
?????????????前言:公司最近来了很多应届实习生,看着他们充满信心但略带稚气的脸庞上,想到了去年的自己,那是的我是不是也和
?? 现在的他们一样呢?现在的我又改变了什么?公司的给这些实习生指定的相关培训制度还是比较完善的(我可是个菜鸟)。但我反
? ?过来想,假如是我,我会制定一个怎样的短期或者长远的计划?总结了自己学到的知识,形成了一个学习线路,希望能给予同
?? 道中人一点儿小小帮助。
?
?
??????? 毕业8月有余,同时伴随着从事Android开发的经验的提升。仔细思量过去的工作内容,掐指算来也是少得可怜---主要维护FM收
音机模块,间或看看Lancher模块的代码。尽管这样,总的来说,在这八个月事件的学习里,我自我感觉收获还是很大的---自学了很多
Android相关方面的知识。虽然里真正的大牛还有很远的一段路程要走,自己也会坚持学习、坚持走下去。
???
???????再次,把自己学习过程中总结的一些经验总结出来,帮助那些刚刚步入Android的网友以及有了取得了一些经验但不知如何
?继续前行的朋友,希望你们能够早日在Android世界里看到希望的曙光。同时欢迎各位朋友拍砖。
?
??????另外,本文总结的一些学习线路都是针对于Java上层应用开发的。对中间层相关开发并没有涉及到。
?
????一、 基础篇
???????? 需要掌握的技能如下:
?????????????? 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,?感觉挺有成就感的。
?
? 通过前面的学习,我们可以成功进入第二个阶段了。
?
? 二、 提高篇
??????? 需要掌握的技能如下:
???????????????? 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源代码,否则何以笑傲江湖 。
? 三、 进阶篇
??????????? 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? ? ? ? ? ? ? ??http://115.com/file/dpnay9ug#packages.rar
? ? ? ? ? ?kernel ? ? ? ?? ? ? ? ? ???http://115.com/file/anqptq4l#kernel.rar
? ? ? ? ? ?ndk? ? ? ? ? ? ? ? ? ? ? ???http://115.com/file/c2libfmk#ndk.rar
? ? ? ? ? ?system? ? ? ? ? ? ? ? ???http://115.com/file/beh14i2o#system.rar
?
?
??
???//Attention: ? ?由于115网盘关闭了大众分享功能,仅仅好友之间可以共享, 各位朋友只需要加我为好友即可
? ?// ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1、打开上面链接地址; 2、添加我为好友即可;?
? ?// ? ? ? ? ? ? ? ? ? ? ? 我的115账号目前是允许所有人添加我为好友的。
?
? ??? 由于我上115网络不给力,导致很多时候都耽搁了大家的期望。我申请了一个小号,希望大家能够自由下载,以后我也会把
? 东西都放在这个小号里的。由于这个小号是用手机号码注册的,大家也不要修改了,同时希望大家不要人肉我啊。
?
? ? ? ? ??? ?ID : 85699022
? ? ? ? ? ? 密码:csdnqinjuning?
?
? ?分享文件在我的网盘里,即可下载。
?
? ? ? ?Good luck to U !?