Android 学习进阶路


Android 学习进阶路线导航线路 (Android 源码分享) 发表于 2012-6-26 10:53:26 | 查看: 6304| 回复: 94 前言:公司最近来了很多应届实习生,看着他们充满信心但略带稚气的脸庞 上,想到了去年的自己,那是的我是不是也和 现在的他们一样呢?现在的我又改变了什么?公司的给这些实习生指定的相 关培训制度还是比较完善的(我可是个菜鸟)。但我反 过来想,假如是我,我会制定一个怎样的短期或者长远的计划?总结了自己学 到的知识,形成了一个学习线路,希望能给予同 道中人一点儿小小帮助。 毕业 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 源代码一份 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 [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 ]
还剩5页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

sxlvxh

贡献于2015-12-28

下载需要 5 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf