给安卓初学者的一篇文章

注:这篇文章不打算写了,有新的想法,在这里搜集一些还未入门的安卓开发初学者,如果人数较多,打算在本站专门开一个入门板块,从头开始讲解安卓开,发感兴趣的加群:254537657,注明jcodecraeer。2的点点滴滴5群是4537657254537657

开发安卓一年多了,比起很多人来,老实我说水平一般,而且还有点懒,因此并没有太多能拿出手炫耀的作品。但是应该绝大多数开发者都跟我一样吧,因此我觉得自己可以作为一名代表为初学者指明方向,当然也有可能让你误入歧途,哈哈。

**开始
**

每一个安卓开发者在最开始的阶段都是迷茫的,而且相当迷茫,不管是有编成经验的还是完全什么都不懂的,而且往往那些有编程经验但又不是很精通的人又是最迷茫的。纯粹的门外汉往往会照着教程一字不漏的copy,学会一种方法就深信不疑,但是有经验但又不精通的人往往带着怀疑的态度,在书本或者网上看到一种方法之后往往会接着思考是不是最优解,是不是具有普适性,在拿决定之前花了很多时间去研究各种实现方法。其实不管学什么东西,在最开始的阶段最好过于追求完美,不然会只见树木不见森林,如果你是在为公司开发项目,你还会拖慢项目进度。

上面说安卓开发的初学者都是迷茫的,为什么呢,让我们看看那些造成迷茫的因素到底是什么。

1、移动开发的特殊:因为移动设备的特殊性,开发一个移动应用要比开发桌面应用复杂的多,尤其是界面上,而且移动开发框架的设计很特殊,有些设计似乎不太符合逻辑,比如listview的基本用法以及关于listview的效率问题(具体是什么相信每个人最终都会接触到),很多android中的问题win32的开发中根本不需要考虑的。另外,android因为出现的比较晚,在java层面的设计上大量采用了设计模式,对不太熟悉的人而言,这反而像撒了一层烟雾。

2、网络或者书本资料的干扰:android官方文档似乎是最详细与准确的,但是谁会一字不漏的去读呢,况且是英文的,当然网上有很多官方文档的翻译,对这些翻译我想说的是,别出来丢人了,错别字不说了,连语句都不通顺,初学者很容易怀疑是自己的水平问题,而不会怀疑是文章的质量问题。eoe开发社区有不少这种烂文,这里我要检讨的是我的网站上也有很多翻译文章是从网上操来的,当时的心态是不但可以给网站充数,还可以保存下来给自己以后看,现在我要声明的是本站所有抄来的译文都不值得一看。尤其是几篇关于android 动画研究的文章就是一砣shi。为了弥补我的过失我准备重新自己总结动画的相关知识。

  不仅网上的资料有很多垃圾,那些卖的很火的书中也有很多垃圾,我知道好多书其实是在网上东拼西凑抄来的,毫无体系。我只买过一本书,叫android应用开发揭秘,这本书我觉得没有什么价值,所以初学者还是不要买了。

3、android的版本以及开发环境。google在4.0之后在UI和开发框架上都作了很大的改动,有很多新的api,这些新的api在低版本的手机上根本无法调用,最典型的是actiobar,如果我想在2.3的手机上使用必须用第三方的开源代码ActionBarSherLock,但并不是所有的新api都有开源代码支持的,那些新的api对于为公司开发的同学来说基本就是必须舍弃的东西。你无法跟你的boss说我不想支持那些垃圾手机了。再来说说android的开发环境,开发android在以前还需要用eclipse配置adt sdk等复杂过程,而google在不久前提供了整合好了的开发工具ADT Bundle,这是一大进步,不过比起ios中xcode的牛逼之处还有不少差距。google还在2013年的开发者大会上推出了android studio ,但是非常不稳定,总有些意想不到的问题,所以还是别用的好。目前最好用的还是ADT Bundle。即便是ADT Bundle也会有很多头疼的事,经常出现编译不通过的情况,而很多时候并不是程序问题,而是eclipse自身问题,最常见的是资源文件id找不到。每次遇到这种问题我真想说fuck。

硬着头皮做

虽然刚开始什么都不知道,但是你必须让自己动起手来,搭建开发环境这是必须的(参见 http://jcodecraeer.com/a/anzhuokaifa/developer/2013/0131/814.html 不过现在更简单,只需安装好java,然后直接下载google的adtbundle就可以了 ),然后设法在eclipse中根据向导创建自己的第一个安卓程序。你会发现原来要做一个app是如此简单,跟所有环境下编程写hello world 一样,几乎不需要我做什么事情就完成了一个应用程序了。当然现在你能做的这个应用程序都是无意义的,你马上就希望自己能做出一个具有一定交互能力的app 出来,我的建议是先自己根据网上的资料实现一个点击button显示编辑框中文字的app,然后阅读官方的demo中的记事本程序notepad,这样你就可以慢慢的上手了。如果你完全弄懂了如何编写一个记事本程序,那么恭喜你,你已经可以勉强称的上是一个开发者了。

开始真正的开发

你已经能做出一个有用的app了,但问题是这个app只能让你学到有限的知识,你必须尽快想到其他的app项目,并试着去实现他,如果你是在专业的应用开发公司,这个问题不用愁,如果你是个人开发者,我认为最好是继续学习google的官方例子程序,或者是在网上下载一些简单的源码demo。这段时间你最好有一部自己的安卓机,别用模拟器了。