在几个Android开发者群里面总是碰到新人提出这样的问题:"我想学Android开发,但是不知道怎么开始,不知道要学一些什么。" 其实,我在最开始学习Android开发的时候也遇到这样的问题,并且自己在碰到这样的问题的时候并未得到好的指导,导致走了很多的弯路,并浪费了许多时间。在参加工作一段时间后,慢慢的对Android开发有了新的认识。于是就决定把自己之前遇到的一些疑难都慢慢的写下来,帮助Android新手开发走入正轨。当然本文可能有些偏差,请大家代为指正。
我是经过自己自学学的Android,刚开始的时候是在网上看视频,后面再开始慢慢的自己去找资料,但是没有真正的需求给自己去做,所以一开始看的东西很杂,没有
针对性。我们学习的最终原因就是将学到的东西经过实践应用到实际的开发中去,所以学习的目的就是找工作。闲话少说,下面开始进入我们的正题。
一、 开始学习Android需要一定的Java基础
Android虽然底层是用C语言编写的,但是我们在工作的时候都是在应用层进行程序层的开发,而其程序层采用的语言是Java所以,要想学好Android,就必须得掌握Java语言。这其中包括Java的语义,语法,和逻辑。其次,你应当熟练掌握Java的通讯机制和几种开发模式。在对Java有了一定的了解后,我们再进入第二个阶段。
二、Android开发环境的搭建
① Java开发环境的搭建,相信大家在第一阶段的时候就对这个有了一定的了解了,但是为什么在这才进行说明呢?因为,去一个新的公司上班,在分配给你任务后然后分配给你自己的电脑,这就需要你在这台电脑上安装开发环境。很多人在第一阶段的时候因为对Java开发环境的搭建不是很熟悉,就请别人代劳了(我身边的很多朋友就是这样)。所以在进行Android开发的时候第一部就是Java环境的搭建。这个在网上会有很多的教程,照着一步步做就好了。
② 在搭建完Java环境后我们开始进行Android开发环境的搭建。现在在公司里面大部分Android开发使用的编译器是eclipse,当然有些新潮的会使用Android Studio,并且Android Studio大有蔓延之势。所以我们有必要对这两种编译器进行一定的了解。编译器的选择安装和一些插件的安装是必要的,工欲善其事必先利其器嘛。当然这个在网上也是有许多教程的,我只是在这给大家一个学习的方向,具体的操作就不细说了。
③选择一个模拟器。模拟器就是在自己的电脑上安装一个虚拟机,可以模拟手机的运行将你在编译器里面编写的程序安装到其上,进行测试。当然上面说的两个编译器
eclipse和Android Studio是有自带的模拟器,但是他们的运行速度是很让人抓狂的。所以我在开始学习的时候选择的模拟器是genymotion ,这是一款Android开发者选择比较多的模拟器,速度很快,而且有很多版本的机型可以进行屏幕适配。
三、Android开发必须掌握的一些技术
我在开始的时候因为对Android开发没有足够的了解,所以学习的时候比较茫然,基本上是看到什么好学,觉得某个功能很炫就去学,结果在找工作的时候发现自己学的
那些东西大部分都是没有用的,在公司进行开发的时候根本用不着,在找工作的时候也不会对你有什么帮助。在找工作的时候面试了很多家,被问到了很多问题,慢慢的就知道工作需要掌握一些什么技术了。
① Android四大组件 这是必须掌握的东东,activity,service,contentprovider,broadcastReceiver.其中activity是重中之重,他就相当于你和你开发的应用的一个交互者,你通过这个组件去和你的应用进行交流。其次后面的几个组件虽然在开发的时候用到的比较少,但是他们也是很重要的。至少在面试的时候,面试官会在这几个组件上面问你问题,他可以通过你对这几个组件的认识来观察你对Android开发的理解程度。
② Android的布局 我们知道Android的布局有五种,其中在开发的时候用得最多的布局就是relativeLayout和LinearLayout,即相对布局和线性布局,其次还有framLayout帧布局。其次要提醒大家的是,在对一个界面进行布局的时候最好将自己脑中或者设计图在纸上画出来,然后先思考怎么进行布局,怎么将布局完美的符合用户使用习惯的展现出来,而不是有了一个雏形就开始急急忙忙的进行代码的编写。(ps:在布局的时候最好能够减少嵌套,因为一个多层嵌套的布局会让主线程在读取界面文件的时候耗费太多的时间导致用户交互性体验不佳,一般一个布局里面最多只能嵌套3层布局。)。
③ 提高 在对基本的知识点了解了之后我们就要进一步的深入开发了,要知道企业需要什么样的技术。
3.1 地图:百度地图、高德地图等,现在许多应用一般都嵌入了地图功能,所以在学习的时候必须对地图功能有一定的了解。
3.2 网络通讯:开发一个APP产品,主要靠流量来营利,所以我们开发出来的产品必须是有网络连接功能的。所以Android的网络编程也是我们必须掌握的。
3.3 各种第三方平台的引入: 比如微信、QQ、新浪等平台的接入。这就要求我们能够熟练的使用API文档,即有一定的阅读源文件的能力。其次我们有时候不得 不在应用中引入大量的第三方库,使得自己的应用更加炫酷和更加适合用户的使用习惯,这也需要你能看懂源文件和类库的文档。
四、Android开发最重要的三个要求
Android开发最重要的三个要求,写代码,写代码,还是写代码。实践出真知。功能都是代码码出来的,只有不断的进行编写,才能使自己的技术更加精炼。最后,祝大家在Android开发的道路上少走弯路。