我的Android学习流程

15年前


既然是学习,知道一点Android的发展史也不为过,我想这一点主要是方便自己向别人传授Android经验时作为一种茶余饭后的消遣吧。好的下面我们开始我们的学习Android的大体流程。

学习Android前,我想Java Core的知识是必不可少的。基于Java的Android无论从语法和还是理念方面与Java都是非常的相似。如果再有一点swing和Java Web方面的知识,学习Android的简直就是轻而易举。所以我推荐大家最好先学习好Java后再学Android,这样你就不会在某些原理或bug面前纠结很长时间。

配置环境是学习时必不可少的过程,Android配置似乎不是很难。我们只要一个Eclipse和一套Android SDK基本就可以了。如果再说详细一点,我们得要一个JRE,毕竟Android是基于Java的;一个安装了ADT(Android开发工具)插件的Eclipse;一套完整的Android SDK。单单从官网下载的SDK并不是真正意义的开发工具,它只是一个SDK的下载工具,还需要我们花上个十几小时下载完整的SDK(如果有人愿意共享的话可以省下这个时间)。向系统环境变量里添加SDK的tools的路径,再向Eclipse里添加SDK路径。

一切OK时,需要开始第一个Android程序。这个程序一般是Android自带的test程序,我想会用Eclipse几乎都可以找到它的位置(New >> Other >> Android >> Android Test Project)。第一个程序主要是帮助我们知道模拟器的创建和使用,Android项目里具体文件结构,以及编译和调试。当然这里还要知道两个概念, Activity和View,下一章的学习几乎都是围绕这两个方面展开。

到这里我们可以开始界面的旅程了。在这我们得有一个基本思想,一切组件和布局都是View,View里仍可以放置其它View,但最终都得放到Actively里。有时我们需要重写View,但每个页面都是Activity的重写。学习布局是学习Activity的第一步,但我们可能只需学习LinearLayout和RelativeLayout就可以了。比较难学是RelativeLayout,顾名思义,它让布局里的元素都相对于其它View,所以这里会有很多参数让我们去理解。还有一个比较重要的就是LayoutParams,它规划了View布局时显示的大小和位置,在RelativeLayout体现的特别明显。再下面就是组件的学习了,当然我们一开始只需要学习一些常用的组件,如TextView和Button,更复杂的日后需要时再学。当然我还想说一点,适配器很有用,它是复杂控件的数据容器,请认真地弄懂每一个细节。

到这一环节便是事件了。相对于Java的事件,Android事件还是比较简单的,最常用的也就是点击,当然它们的事件体还是需要重写的。还有一个相当重要的事件就是Handler(消息传送机制),它解决了新线程不能访问Activily里控件的问题,不多说,见着了你就见识了它的真正妙处了。

深入Activity,这一节我们学习或许可以参考一下Servlet,生命周期,配置都还存在,个人认为最大的差别就在于它们最终显示的方式不一样吧!为了能够更好的利用Activity有限的界面,我们还需重写它的其它方法!

Intent和IntentFilter,这里或许只需要学习它们携带数据进行Activity间跳转就可以了吧。参考一下request,学习会变得很简单。

应用资源,我们得知道它的资源都放在了res这个文件夹,文件夹还有很多子文件夹,不同的子文件夹放置着不同资源,它们当中最常用的得数values和drawable了。当然除了默认的文件资源,我们自己也可以添加符合命名要求的文件或文件夹夹,只要放到res文件夹下,它们就可以被Android访问。

图形图像处理,如果不需要复杂的绘画或3D功能我们或许只需掌握一些简单的绘图API,如Canvas,Paint,Path等。这里有一个非常有用的东西,就是对View进行重绘(onDraw(Canvas canvas)).再高级一点,为了提升性能我们还需要知道双缓冲机制。

数据存储和IO,SQLite很有用,本地几乎不需要我们再用其他数据库了。还有就是JSON,在Android里它是一种新的数据类型,它的存在几乎可以忽略掉使用xml进行程序内或程序间的数据交换了。

ContentProvider

Service与Broadcast

Android的网络应用

(上面三个以后补上)

在这最后,我想说的是,孤军奋战非真英雄,调动一切可利用的资源,帮助你拿下Android城池。多与高手交流,多在论坛里提出自己的想法和见解,当然不要忘了帮助他人。