首页 > 知乎精选 > 移动互联网 > Java 程序员转 Android 开发的经验有哪些?
2015
10-22

Java 程序员转 Android 开发的经验有哪些?

内容来源:覃超,曾经沧海难为水,Facebook工程师

1、如何『转』的问题。

其实Java程序员要自学Android开发的基础知识还是没什么难度的。毕竟语言相通,特性相似,阅读Android源代码的门槛也变得很低。另外作为一个有工作经验的合格程序员,自学能力和相关的基础知识都应该不是问题,学Android都会相对轻松很多。所以,Java程序员转做Android可以看成是一次『增量更新』,只需要学习一下Android的基本组件——Activity,ContentProvider,Service,BroadcastReceiver;了解一下Android中的Intent,Handler,Adapter以及各类事件的传递方式(onClick,onTouch等),同时辅助以一定的代码量,JNI,AIDL什么的可以抽空看下,学会Android真的是很快的事情。

可能有人关心学习Android具体要花费多少时间,我可以给出我的经历给大家参考下,在接触移动互联网之前,做了一年多不到两年的J2EE和.NET的开发,主要针对ERP,后来因为厌倦了国企/甲方/基本算不得ERP的ERP后自学Android,辞职前边工作边学两个月出头,辞职后继续学习研究了一段时间,不到一个月,而后进入国内一家移动互联网广告平台负责广告SDK的开发(已辞)。所以如果是Java功底更深厚的各位前辈,如果学习Android开发,入门——上手——到能应付中等难度工作甚至也许都不需要两个月。

2、『转』之后的问题

Android上手不难,但是在工作中总会遇到自学过程中并没有预料到的情况。这个时候,才是考研一个人的时候。一般来说,常见的问题和难点都可以在StackOverflow上找到,常用功能/控件的实现也可以在GitHub上找到。虽然不一定每次都可以找到那么合适的轮子拿来就用,但参考的价值同样很大。虽然很多前辈都说过『不要重复发明轮子』但对于手机这样一个如此秀气的设备和低端平台下少的可怜的可用内存,定制式的东西有时候比通吃的玩意更来的靠谱一些。前人的作品会给你启发,提供给你一条思路和若干需要注意的细节。仅拿手机上非常常用的『下拉刷新』功能来说,不同App之间还是很有差异的——试试新浪微博的下拉刷新和唱吧Android版的下拉刷新就知道后者是有多惨不忍睹了~控制内存开销,优化onTouch事件是永恒的主题

做Android之前,一定要做好这样的心理建设『你一定会花费比iOS程序员更多的时间但仍就可能无法得到想要的结果』Android的UI线程可无法获得如iOS下那么高的优先级,当然,还有不少特性上的不同导致Android做起来也许远不如iOS轻松,甚至还不得不面对当前国内都是以iOS做设计,Android照搬的做法,并且由此产生很多雷同脑残但坚定不移的设计——难道只有我觉得单手持机的情况下,点击下方返回键远比点击UI左上方的返回键要方便得多?好吧,不吐槽了,做Android会有压力,来自于各种各样的比较,抗击打能力太弱同时又不失标准没心没肺型的话可能会做的很郁闷。

最后编辑:
作者:管理员
呃...怎么介绍呢?就是个管理员吧~
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!