学习阶段总结(2016年3月)

技术于我

从大一开始接触编程,中间零零散散的拿起放下,大二带着十几个学弟学妹一起学Android,从零基础开始,做小的作品,解决各种小的BUG到真正可以输出一个还说的过去的作品,整个过程让我也收获很多,责任会让一个人成长,真的是不为过啊!现在大三,面临着找实习和面试,正好趁着这个时节可以对自己的做一个总结吧~给自己一个比较精确的定位,也希望我的技术路线或者踩过的坑能帮助到各位小伙伴们~不多说,还是进入正题吧!

学习路线

Java篇

大一上从零基础跟着自己的部长学习Java,期间看的最多的便是黑马程序员毕向东的视频,颇有逗比风范的教学语气让我这个技术小白不再是纯白了,哈哈。

后续读过相关书籍推荐:

《Java语言程序设计》的基础篇和进阶篇(机械工业出版社 黑书)
《Java多线程核心编程技术》(机械工业出版社)

个人感觉处于自学的话《Java编程基础》还是很受用~

Android篇

真正写Android的东西是在大一下了,一款不停的在屏幕上重绘的跑酷小游戏《小蘑快跑》,当时处于技术第一个瓶颈并且热情期刚过,故这个作品于我是一次对技术的重新认知和学习吧,通过这个也让我坚定了最后走上技术这条路的决心!

后面写过一些小的应用,或是比赛或是为组织做技术输出,但在我感觉都没有第一次开发应用那段时光珍贵,很美好很充实很单纯,只是为了学习而学习。

要点总结

基础方面

  • 四大组件熟练使用
  • 组件生命周期
  • 组件之间的通信方法
  • 数据存储(Sqlite、Sharepreference、contentProvider)
  • 网络通信(http、socket 通信、xml、json、gson、ProtocolBuffer)
  • handler、asynctask 使用

对于这些的学习我基本一个自学模式了,最初阅读李刚的《疯狂Android》讲义,而后直接上了项目和作品,通过实践来学习,锻炼了很多看书学不到的能力,但是同时也让自己的技术面便窄了,所以先阶段对自己而言,还是要回归,重新回炉一下之前的东西,不然只是一味的搬砖,终难成大厦。

进阶方面

现阶段新技术很多,比如RxJavakotlinWebAPP也是个很流行的方向,面对现在的就业形式和技术路线,感觉进阶要学的东西很多/很多……最近Android 7.0也要发了…所以路漫漫其修远兮,加油吧!

  • View 树的绘制流程、触控事件的分发机制
    理解这个对于开发自定义 View 和动画非常有好处。
  • IPC通信、binder机制
    怎样处理进程之间的通信以及怎样保证并发线程的安全
  • 动画绘制
    想要做出 UI 效果非常炫酷的 APP,学会自己绘制动画很重要。可以在 Github 上面找一些开
    源的控件动画项目去学习,看看别人的代码是怎样实现动画。绘制动画方法很多,也涉及很
    多数学计算方面的问题,个人感觉这一块很有趣,自己写出来炫酷的动画也蛮有成就感的。
    另外,怎样保证动画的流畅度和 FPS 也是一个学习点。
  • 数据缓存
    缓存一般有内存缓存和外存缓存, 根据实际情况决定采用哪种缓存机制。 成熟项目中经常需
    要考虑数据缓存的问题,简单数据缓存相对简单,方法也相当多(内部类数据缓存、
    Application 数据缓存) 。图片语音等数据缓存相对复杂,需要一些算法实现(LRU、FTU、FMU
    等) ,现在也有不少成熟的开源库可以实现,如 Picasso 就是经常使用的图片缓存库。
  • Handler、AsyncTask、Looper 机制的理解
    实际上就是消息队列和线程池,很多 Android 进阶书籍上都有介绍。
  • 设计模式、项目的架构方法**
    设计模式确实是个好东西, 前人总结出来的经验, 能够帮助自己跳过很多坑,
    另外也可以应付一些认(keng)真(die)的产品经理的需求变更。
    另外,项目架构方法也是一门学问,可以去 Github 上面看一些优秀的开源项目,学习其中
    的架构方法。
  • Android 系统各种 Manager
    ActivityManager、ServiceManager、packageManager、WindowsManagerService 等等。了解一
    个 Activity 是在系统层面是怎样创建出来的。
  • JVM 虚拟机(Dalvik、ART) 、java 内存回收
    理解这些主要是为了帮助解决一些内存泄露的问题,写出性能更高的代码。
  • 网络优化
    连接复用、请求合并、压缩数据、数据缓存

  • Android Developer 英文 API 的阅读
    做开发,英文,这个不多说了(最初一个大英语渣的感受)

  • Ant / Gradle 的构建方法
    现在Eclipse已经渐渐淡出Android开发的视野了,Ant时代基本宣告结束。
    所以Androidstudio和Gradle的学习显得比较重要
  • MVC/MVP/MVVM架构方法
    MVP最近很火@_@
  • JNI 学习
  • Github (markdown与git)
  • 欢迎互粉Rocky
  • 数据结构的自学
    算法和数据结构=-=..
  • 科学上网
    Google Android开发官网和google play目前还都在墙外..So..you know

Android 进阶可学的东西很多很多,我也只能说是一知半解吧,了解的越多越感觉到自己知道的越少。

且学且珍惜,与每位读者共勉o(^▽^)o

书籍推荐

最近在几本书感觉不错,推荐给大家。
(狗东和当当上都有,就不附购买链接了)
《Android开发艺术探索》
《Android群英传》
《Android设计模式解析与实战》
《App研发录》

坚持原创技术分享,您的支持将鼓励我继续创作!
0%