Android programmer成长学习路径

一、基础

1、C & C++

从Android应用层的要求来说,简单的界面和业务开发的确只需要java基础就够了。但是从Android程序员甚至前端、全栈程序员的要求来说,只会java只懂面向对象不懂内存和指针那就远远不够了。C和C++都是一个大坑,但其实如果先学的java已经有了比较完备的编程思想,其实只要从指针后面开始学习就ok了,C的话还要深入了解一下结构体,函数指针,内存控制函数这些非常有用的,能够了解计算机工作原理的知识。而C++则要把类的相关知识都了解一下,倒不必很深入,遇到具体问题的时候再具体分析。
推荐书籍:C primer plus & C++ primer plus
PS:看书敲代码其实是一件特别枯燥的事情,所以现在出现了很多编程视频教学网站,比如慕课网、网易云课堂啥的,有兴趣的可以自己找找。我个人还是比较习惯看书的方式,因为书上会讲得特别细,所有的要点都能了解到。

2、Java基础

这个就不用多说了吧,除了java基础和核心api本身是一个大坑外,Java语言的各种特性:匿名内部类,接口,抽象类,注解、反射、动态代理等等,都是后面Android程序员向上发展的时候必备的知识。
推荐书籍:Thinking in Java

3、Android基础

一般前端都是从做界面开始的,Android也不例外,从我这么多年的面试经验来看,大部分Android开发最熟悉的还是界面的承载者Activity,就像IOS程序员最熟悉UIViewController一样,毕竟应用开发最核心的还是用户界面和交互嘛。一般这个阶段都会找本书把Android的知识(其实就是各种api)从头到尾自己敲一遍。当然了,一遍是远远不够的了,我个人的话至少有三遍以上,因为这篇是针对android程序员的,所以特别列一个学习list给大家参考:
A、四大组件之Activity
1)Activity生命周期,配置,栈,调用与回调等;
2)xml界面搭建技术和各类基础控件的使用;
3)高级控件的使用(例如ListView);
4)自定义view;
5)Activity中的View综合操作与控制。
B、四大组件之BroadcastReceiver
1)动态广播;
2)静态广播;
3)广播的思想和实际应用。
C、数据持久化
1)SharedPreference
2)Sqlite数据库(Android api)
3)Sqlite框架
D、Git的使用
1)安装与远程代码clone
2)创建本地与远程代码仓库
3)提交本地与远程代码仓库
4)其他重要操作
~~~~~~~~~~~~~到这里基本可以进行简单的开发工作了~~~~~~~~~~~~~
E、http与https
F、手机多媒体
G、四大组件之Service
H、socket tcp&udp
I、各种传感器操作
J、四大组件之ContentProvider

二、进阶
1、Java进阶

2、JNI基础

3、设计模式

三、老司机
1、算法与数据结构

2、JVM、JAVA内存管理、Java核心类源码

3、Android核心源码和线程进程控制等原理的深入学习

4、设计模式到架构

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值