智能手机的不断普及,尤其是由城市包围农村的扩展,上到七八十岁的老人,下到七八岁的孩童都已经用起了智能手机。智能手机的普及也预示着app的普及,android开发工程师也是炙手可热。很多新人小白来询问如何学android,很多朋友不知道如何下手。今天浙江优就业杭州it培训的老师就来做个总结,2017最新android学习路线指南,希望可以帮助大家学好android。成为一名优秀的android开发工程师。
android学习指南
Java基础
首先是学习Java语言基础,很多人不明白,我不是学Android么,怎么又学Java了?你家的房子是用砖头堆出来的,隔壁的小区也是砖头堆出来的,就算是故宫,那还得用砖头呀。当然了,还有很多建筑物不是用砖头的,有的是纯木头建造,有的是玻璃的、钢材的、石头的等等。Java不仅可以用于Android开发,还有其他的开发用途,反之,Android也不是只能用Java开发,其他也行,这个我们下面再讲。
Java的体系很大,但是我们并不需要全部学习,只需要学习Android开发中用到的内容,至于Java相关的其他内容比如Swing、JSP、SpringMVC框架等这些内容我们并不需要学习。
我们需要学习的Java知识有:
Java 基本数据类型
Java 变量类型
Java 修饰符
Java 运算符与表达式
Java 分支:if...else/switch
Java 循环语句:for/while/do...while
Java Array、List、Map、Set、Collection
Java 流(Stream)、文件(File)和IO
Java 异常
Java 继承、接口、抽象类
Java 重写(Override)与重载(Overload)
Java 多态
Java 泛型
Java 线程
Java 面向对象思想
网上关于Java的学习视频有很多,比如马士兵、Mars的都可以,当然这些都是比较老的教程了,不过对于我们学习语言基础并无大碍,反而经典。
当然学习Java之前你还要搭建好Java开发环境,啥,你以为随便写几行代码就能运行吗?不给你地皮,再多的砖头也造不了房子。环境搭建很简单,无非就是安装JDK、配置环境变量,不同的系统略有差异。然后是开发工具,用什么来开发呢?最简单的可以用记事本,通过命令行编译运行,也可以用其他集成开发工具,例如Eclipse。用什么工具无所谓,不会加工资的,主要是学会Java语言基础。
下载 JDK
下载 Eclipse
如果你喜欢用记事本的话,那么给你推荐几款编辑器:
EditPlus (Windows版)
Notepad (Windows版)
Sublime Text (Windows版) (Mac版)
Android基础
学完Java就可以步入Android的学习环节了,先讲讲Android开发用什么开发工具呢?有人说Eclipse呀,没错,几年前我们确实用Eclipse,通过配置ADT插件,就可以进行Android开发,以后后来Google还出了集成ADT版的Eclipse,更省事,不过这都是几年前了。现在Google已经不再支持Eclipse,推出了自己的开发工具Android Studio(Eclipse可不是Google的,Android是Google的),所以我们Android开发就是使用Android Studio,且Android Studio是最好用的Android开发工具,没有之一。
下载 Android Studio
我们需要学习的Android知识有:
Android UI组件
Android Dialog、PopupWindow
Android Activity和Fragment
Android 事件机制
Android 绘图和动画
Android 数据存储
Android 广播(Broadcast)和服务(Service)
Android 网络访问
Android 蓝牙及相关硬件开发、多媒体等等
至此,恭喜你,你可以去面试找一份Android开发岗位的工作了,在工作中再去慢慢打磨,一步一步踩坑,做个APP出来是没啥问题的。那么到这就结束了?当然不是,毕竟建个猪圈跟建个东方明珠塔还是有区别的,很多知识是别人教不了的,只有在不断的实践中才能悟出真道理,只需谨记:求知若渴,虚怀若愚。
Android进阶
不能仅限于最基础的开发、控件的基本使用、API的正常调用,很多内容我们只有深入理解之后才能发现新大陆。
深入理解Android事件分发机制
深入理解Android消息机制
擅长View的自定义绘制
理解并能合理运用各类设计模式
熟悉多线程机制
缓存设计
性能优化
阅读和理解源码Android源码
android
Kotlin
为什么又要学习Kotlin呢,不是已经学了Java了吗?在2017年 Google I/O 开发者大会上,Google宣布将Kotlin作为Android官方开发语言。如同Apple推出Swift一样,Kotlin是否会完全取代Java成为Android开发的主流语言,这将由市场一步步验证。作为开发者,我们要做的就是不断提升自己,丰富技能,以应对快速迭代的市场环境。
不建议大家直接学习Kotlin,毕竟目前还没有整体过渡到Kotlin,一切以实际情况为主,还是先把Java学好,并且Java和Kotlin是可以混合使用的。
常用库
在实际开发中,很多时候我们会在项目中使用目前比较成熟的开源库,能够节省大量的开发时间,且这些库有专门的人或团队在维护,比我们自己写可能会更好,何必重复造轮子呢,而且别人的轮子说不定更好。这边我整理了比较常用的开源库供大家参考:
网络请求
OKHttp
Retrofit
Volley
图片加载
UniversalImageLoader
Picasso
Glide
Fresco
时间日期
joda-time
数据库
LitePal
GreenDAO
依赖注入
butterknife
dagger
Log日志
logger
集成第三方SDK
你的项目还可能用到很多第三方SDK,那么就需要熟悉第三方的SDK使用,还好,这不是什么难点,遇到一个攻克一个即可。
混合开发
在不断的探索中,一种很常用的开发方式已经产生,就是混合开发。什么是混合开发?就是在Android项目中插入H5页面,通过Java和JavaScript之间的相互调用,实现页面之间的无缝对接。这种方式有什么好处呢?节省人力、降低维护成本、适配性好,更新方便。
掌握WebView控件的使用
addJavascriptInterface
loadUrl
shouldOverrideUrlLoading
其他
熟悉H5开发的相关内容
Html5
CSS
Javascript
插件化
插件化开发主要利用 Java ClassLoader 的原理,对于 Android 来说是 DexClassLoader,目前也有很多开源框架。
热修复
热修复和插件化属于一个知识体系,Github上也有很多开源项目,列举几个相对热门的:
Github:AndFix
Github:HotFix
Github:Nuwa
NDK
上面都是在说应用层开发,也是绝大多数人可能从事的内容。当然,大家也可以往底层发展,做NDK相关的开发内容,不好意思,本人没有相关经验。
跨平台开发框架
这个其实不完全属于Android开发内容了,应当属于前端范畴,作为补充知识了解一下。所有WebApp框架(一套代码两个包)基本都有以下特点:
使用 Html5 + CSS + JavaScript 开发
丰富的UI组件库
封装大量JavaScript API
提供原生API访问接口
提供硬件访问接口
提供调试、打包等服务
适配性好
如果看到这你还不知道还如何学习Android的话,那么也没关系,世界那么大,为什么非要搞Android呢。
学习更多android技巧请访问浙江优就业官网。