【总结】安卓进阶方向讨论

1.Java基础

很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?长沙极客营认为至少要掌握以下两个方面的内容:

a) Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;

b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。

2.Linux基础知识

大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;

3.数据库基础知识

这个比较简单,就是一个增删改查的数据库操作。

4.网络协议

至少需要学习两种基础的协议,HTTP协议与Socket协议;

5.Android基础知识

有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序。

6.服务器端开发知识

由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:

a)Java EE:就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;(缺点)

b)PHP:简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;

c).NET:这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;

长沙极客营温馨提示:至于选择哪一种技术,就看大家自己的判断了。要成为一个专业的Android开发者,以上的这些知识都必不可少。看起来好像很多,其实只要你肯用心去学,投入多一点时间进去,安卓开发其实也不是很难


【总结】

=============================================================

1 有深度和广度两个角度去走都可以

广度 从app走产品 走网络 到服务器 整个产品的所有技术都能通
深度 从app走framework native hal driver dvm art kernel arm hardware一路走下去也行

一个是业务主导 ,一个是系统主导


横向发展相对而言难度偏低,但量大,而且经验主导。纵向难度高,越底层语言和规则越不友好。就业方面横向发展不愁吃喝,但也难发大财。纵向工作机会偏少,就业面窄,但一旦混起来,就是专家,不可替代性强,肯定挣钱要多。纵向主要就是难度大,还有就是因为参与的人少,除了自己的圈子,找供查阅的知识资料没有横向发展容易。纵向越往深走,越偏硬件,就业方向就越窄,但是同样的竞争也会越少


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值