开发android,我们需要哪些技能基础
①Java基础知识 ②Linux基础知识 ③数据库基础知识 ④网络协议 ⑤Android基础知识 ⑥服务器端开发知识①Java基础知识
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。万丈高楼平地而起,Java就是筑起高楼的每一块砖头。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:
a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
②Linux基础知识
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
③数据库基础知识
这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》
④网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;
⑤Android基础知识
⑥服务器端开发知识
由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:
a)Java EE:就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;
b)PHP:简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;
c).NET:这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;
d)ruby on rails:这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;
至于选择哪一种知识,就看大家自己的判断了,毕竟每个人想法不一样,爱好也不相同。
怎样去获得这些技能基础
安卓开发学习书籍建议买 精通Android2 ,或者 Android2高级编程 这两本书,讲解的细致,但是一定要结合sdk来看。国内的不要买。。。。(切身体会,千万别买)看完之后就可以自己动手做做项目了。
对于java基础,我现在的感觉是 如果要深入学习android平台,java基础一定要好(里边包括各种java类库的用法,本地代码jni什么的)。但如果平时随便做做应用的话,会面向对象编程就完全可以了。把获取这些技能基础量化为100%的话,那么看书这个途径只能为你提供15%的进步。
看视频,这也是许多自学android开发的新手必经之路,毕竟看书只有你一个人的思维在活跃,看视频至少是两个人的思维在碰撞,你能发现你与别人的不同,如果你有心,你就能进步更多。基础知识不用我担心太多,至少想学android的,找基础知识的资料还是没有问题的。在此你也可以试着了解一些android的基础视频。也可以加入一下开发者的QQ群367554077,去初步了解一下。感受一下氛围。这个我个人觉得很有意义。
安卓开发学习网站
推荐你关注DevStore还有csdn和开源中国,都是开发者经常关注的网站。
1、csdn
csdn(中文IT社区)它是集新闻、论坛、群组、Blog、文档、下载、读书、Tag、网摘、搜索、.NET、Java、游戏、视频、人才、外包、第二书店、《程序员》等多种项目于一体的大型综合性IT门户网站,源码只是其中的一项,但是很实用 里边有很多大牛。
2、DevStore
DevStore(全球首家开发者服务商店)全称Developer services Store,是全球首家开发者服务商店,是一个开发者服务整合类平台,目前DevStore已汇集国内外500余款开发者服务,这个数量每日还在继续增加。每个服务都有相对应的服务评测报告。开发者可以在这里提交服务、下载源码、评测、对服务进行对比并进行评论等等。交流群:367554077 这里汇集了一大批高质量的安卓开发者和IOS开发者,和高级评测人员。
3、开源中国
开源中国成立于2008年8月,是目前国内最大的开源技术社区,经过不断改进,已经形成了由开源软件库、代码分享、资讯、翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。2013年,开源中国建立基于阿里云大型综合性的项目-中国源,旨在为软件行业提供完善的开发服务,为中国广大开发者提供丰富多样的软件下载,源码托管等功能。
自学的话平时就多看一些官方文档,帮助文档也是一个很好的参考资料,多看看,平时多敲代码,多看多看注释多看规范,看完之后去敲代码主要是在实践过程中发现错误,多做项目自然多遇见问题,遇见问题解决问题,下次自然就知道怎么解决,在实践中发现真理。
思考,没错,就是“想”。想你怎么把这三块儿合在一块儿,让自己的学习效率更高;想你在学习中遇到哪些障碍,最后是怎么解决的,这很重要!