A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hugoo 中级黑马   /  2014-6-29 17:55  /  1430 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

1、观念的转变
如果还拿着j2me时候的观念去学,一定进步很慢。android的内容要多很多,设计也不像j2me那个简单明了(而是引入了很多架构、模式的内容)。可以说,j2me中,移动开发和非移动开发还是泾渭分明的,埋头在j2me中,熟悉该熟悉的内容,就差不多了。但android中这种局面却不复存在,看看android的API,就会发现里面包含了大量的j2se API(其实j2se很android同时学效果会更佳),而android自己的API就已经很多,现在的android手机俨然就是一台小型电脑,已经不再是j2me时代随便一掰手指就能数清功能了。
说这么多是为了说明两点:
1)、android的学习要从大出着手,框架、流程、模式、功能模块先弄明白,然后才是细节。
2)、要使用android,已经不再只是学习android一项任务了。android是纯java语言,所以语法的学习可以省了,之后是android内容的学习,学会这些之后,真正能用android了吗?这只是一个前提,真正的内容还没上场,就是即将要介绍的:脱离具体语言之外的更多的内容。

2、脱离具体语言之外的更多的内容
有人问,你会什么?回答,会j2me,又问,会用j2me做什么?回答,做游戏,做应用,做...
问题的重点在后一问,对于程序员来说,编程语言只是迈出去的第一步,之后还有更多的路走,换句话说,掌握语言是必须的,但只是个开始(或前提),真正的内容,是脱离具体语言之外的更多的内容。
具体一点:GUI开发,消息机制,XML,网络功能,正则表达式,数据库,图形学,设计模式 ...
太多太多,这里列出来的只是很小的一部分,在编程中,一部分知识能作为一个领域或模块(甚至先于具体编程语言)存在,其重要性就高于具体的编程语言,如XML,正则表达式,无论是C,Java,python,ruby,都会为它们提供相应的API,学会这些内容,遇上具体编程语言时很容易就能上手。
所以语言只是一个前提,就如一个人能发声是前提,要说什么,表达什么内容才是重点。

3、多看别人的东西
“勇于敢则杀,用于不敢则活”,在软件开发领域,老子的这句话很有适用性。要做一件事情,不是一热血,一埋头,就马不停蹄,更多的时候是先看别人是怎么做的,不说站在巨人的肩上,至少也要把自己的快乐建立在别人的痛苦之上,别人痛苦过的东西,自己就不要再去痛苦一次,所以先大量参考别人的经验、总结和指导才是王道。

4、对比学习
尤其是初学android的j2me程序员,应将android和j2me对照着学,看看j2me中有的功能,在android中如何等价实现。
我们目前已经有一套android实现的j2me API,09年五六月写好的,我现在再做android,仍会经常查看这份API,因为这是android对j2me功能的实现,更有助于了解android。API的SVN地址:http://192.168.0.243:800/resourc ... se/android/j2me_api

5、直接看源码
看文档永远没有看代码来得直接,程序员始终要看代码的,android的API源码我已经放到ftp上:
ftp://192.168.0.2/SDK/Android/
下的android_src.zip
源码很多,不需要都看(时间也不允许),看主要的类(如Activity),还有就是学习的时候时不时查看一下。

6、要有目的性
一项新技术的研究,如果只是纯为了学习或好奇,就是公司的损失,员工不是学生,公司也不是学校,任何公司也不可能提供这种免费的学习,所以需要在学习和研究过程中贡献有价值的东西,可以是具体产品、代码、文档、经验。
比如,我开始研究android,先定一个目标:用android实现j2me API(当时还做了superYumYum3的android版),这个目标实现了,android也基本入门了。如果没有任何目的性,学习效果会很差。
目的可大可小,如收集学习资料,提供给后来者,甚至将自己的疑问记录下来,将心得记录下来,也要比毫无目的强。

4 个回复

倒序浏览
学习感言分享,大家共勉
回复 使用道具 举报
谢谢分享,我现在在学java基础,学完以后也准备学android,先收藏啦
回复 使用道具 举报
谢谢分享!!
回复 使用道具 举报
sin 中级黑马 2014-11-22 09:25:28
报纸
很有针对性 。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马