Android入门小结

开始搞Android也已经有一小段时间了,期间各种断断续续,着实让整个过程纠结起来。空余的时候像挤牙膏一样写上几行,进展虽慢却也细水长流,唯一无奈的可能随时会被优先级更高的项目彻底打断,这样就很有必要在一些节点做些简明的小结,以免当从某个项目里脱身再回头看Android的时候觉得茫然。

入门感受

在有些微Java基础的前提下,入门Android是非常容易的。了解一下Android的系统构成和运行机制,就能在简单布局下搞几个小程序。这种低入门门槛就是造成Android大量垃圾应用横行的原因之一,开发者鱼龙混杂,应用质量自然也是参差不齐。但也正因为上手容易,才使得Android能吸引如此庞大的开发群体从而建立更为庞大的用户基数——从这点来说,Android在移动浪潮中已然立于不败。

有人说Android的出现如此瞩目,以至于开发人员第一次追逐着SDK的发布,仿佛终于存在一项新的运动使得他们站在了相同的起跑线上。形式上似是如此,但毕竟每个人的身体素质不同,取得的成绩当然也就天差地远。所以,勤练算法内功的人学得再晚也不嫌晚。而浅尝辄止也未尝不可,光是了解Android的运作机制本身就已经非常值得。

如果随意捣鼓着玩,个人感觉Android几乎适合所有人,前端补上Java相关后距离全端会更进一步,也不用花费太多精力。但若想在Android上有所建树,那么需要补充的知识量就过于庞大了,不适合前端兼修。

Java基本上是大学里学的皮毛,不过初期没遇上大麻烦。为了能让Java在脑子里运转能顺畅些,还特地跑到ZOJ去AC了几道题。不过以前都是用C提交,现在改用Java运行马上会感觉到性能差距。

教程选择

虽然实际真实去搞一个APP然后便看API参考变自己摸索应该是最快的掌握途径,但说道全面,相关的教程还是不能少。Android现在铺天盖地的教程,大部分来在开发者的记录和小结整理,系统化的教程其实并不多,而保证质量的就更少了。我看了很多教程,最后选择的是 Lars Vogel 所著并在网上更新的 Android Development 的相关 Tutorials: http://www.vogella.com/tutorials.html

作者是个德国人,所以他的英语表述非常简单,不会出现native speaker偶发的高级词汇和短语。教程很全面,也很系统,简简单单,把Android相关的大部分内容都用浅显的语句表述了出来。对于程序而言,这类教程其实最为合适。接触Android的大部分都不是白纸,对他们来说,系统地说明Android是什么,能做什么,比罗列大堆代码有效的多,Github上从来不缺高级的例子。

当然Android官方的教程也很不错,就是跳跃的有点厉害。不过仍然是必看的。

入门程序

我做的入门APP是这个博客的RSS阅读器,其实有相当一部分APP都属于这一类——新闻呈现,比如cnBeta和驱家新闻。虽然明知很简单,但面对新鲜事物还是做的非常起劲:) 开发环境的建立异常简单,只需要下载SDK即可。SDK的更新会因为伟大的G-F-W而遇到一些麻烦,不过可以通过设置host或者代理解决。SDK中的Sample代码有很多,所以足够初期折腾了。

接下来建立程序,创建几个基础的类,调试,运行,这些都和原来的Java相关,不会遇到瓶颈。如果有,也只是对Java的掌握上的瓶颈,对于Android来说首要搞懂的应该是生命周期,因为这个概念贯穿整个程序执行。

APP涉及到ListView,XML解析(后来换成了JSON),WebView,load动画,欢迎界面,DialogFragment。其中唯一让我诧异的是,当我打算用GIF做Loading画面的时候,居然要我把GIF打散成PNG图片然后做动画...最后断断续续做完了这个APP,下一步就是添加一些tab切换来填放更多的内容。

最后,想起我同事说学Android可以防忽悠,我,深以为然......