java基础 android基础
《Java核心技术1》《Thinking in Java》《疯狂Android讲义》《第一行代码》->《Android开发艺术探索》《Android进阶之光》
基本:
①四大组件声明周期(Activity、Service)、基本使用
②常用的UI布局可以自己写出来
③了解MTvPlayer、KLauncher、MLocalMM2这些公司自己写的apk,做到大部分代码可以看懂、并能讲出大概流程
④对按键事件的分发流程有一定了解,以及事件在PhoneWindowManager、PhoneWindow、Activity之间传递的先后顺序以及返回值代表的含义(限于KeyEvent,TouchEvent类似)
目标:①不参考公司代码,可以写出KLauncher的All Apps界面(只有一个布局和activity,使用Recyclerview)
②写出一个循环播放图片的卖场模式
进阶:
①Handler消息传递机制有一定了解并熟练使用,可以用Handler写出常用的“子线程处理数据->主线程处理UI的模式”(很多地方用到AsyncTask,也需要了解)
②简单的自定义View,可以看懂并写出类似于KLauncher的主页appWidght这种自定义ViewGroup
③多线程的了解使用、以及主线程更新UI需要注意的事项
④Android基本动画、焦点处理
⑤数据库基本命令熟悉、基本操作熟悉
⑥可以清晰大部分公司自己的apk如何实现
⑦报错、即crash分析,简单的ANR分析
目标:独立写出KLauncher、做到大部分功能都能实现
更加深入的就是一些原理性的东西,需要慢慢积累,比如Supernova与Android之间的Binder通信,现阶段不需要了解原理、只知道大概的调用流程,能够从上层的方法追溯到底层调用的方法即可(最基本的有设置图像模式、万能接口等)