6、这样的路线走下来大概需要多长时间?从事应用开发和游戏开发的学习路线和重点是否会有所不同?
答:时间的问题就需要根据个人的不同情况来衡量,一般对于没有任何Java基础的开发者来说至少需要2月以上来学习Java,因为这也将直接影响后期对Android的学习,有了Java基础,对于Android的学习就简单很多了,几天时间都能完成Android入门。入门简单,但是入门之后的深入需要一个长期的经验积累。对于应用方向的开发者需要重点掌握Android的各个组件(包括各个组件的组合运用)、网络通信、音频和视频这些模块,对于游戏开发方向则应该把重点放在图形图像方面包括2D和3D(Opengl ES)渲染。对于3D游戏的开发我们和华章培训网一起推出了《Android 3D游戏引擎实现》视频教程,全面的介绍了使用Opengl ES来开发3D游戏。
7、Android的应用程序本身与传统Java程序有什么不同之处?搭配Eclipse和ADT,开发效率如何?
答:首先从运行环境层次来分析,Java程序在拥有Java虚拟机的情况下就能运行,而Android应用程序不仅需要Dalvik虚拟机来解释,而且需要很多系统组件及API的支持。另外每个Android应用程序都是相对独立的,不能在一个应用程序中调用另一个应用程序。因此这些都是传统Java程序开发者需要注意的地方,Java编程的IDE和工具确实比较多,但是Google选择了Eclipse并提供了基于Eclipse的插件ADT使得应用程序的开发变得非常方便,相信大家都知道,开发应用最困难的就是Debug了吧,在Android平台除了Eclipse本身的调试工具之外,ADT还提供了众多辅助调试的功能,比如:ddms,模拟器工具等。同时,如果我们的应用程序需要使用NDK来开发原生程序,那么Eclipse也可以很方便的集成C\C++开发环境等,总的说来使用Eclipse和ADT来开发应用程序是个非常完美的组合,当然不排除可以使用其他的工具来开发!
8、能不能从项目管理的角度为我们介绍一下,一个Android项目的具体开发流程,在移动软件的项目开发中需要注意哪些问题?
答:这个问题比较大了,那么我就自己开发Android项目的流程来说说,首先Android目前的应用程序虽然不像iPhone上那么多,但是其项目的同质化越来越严重,因此在最初对项目的定义阶段非常重要,将直接影响产品的生命周期,客户(玩家)需要一个独特的,新颖的、便于操作的产品,这都是我们在定义项目的过程中需要考虑的,在确定了项目就需要对项目进行规划、执行和跟踪,该过程主要确定产品的开发周期、涉及技术人员,技术问题如何来避免和解决,在开发过程中叶需要定期的对项目进行测试,包括测试其视觉感、体验感、兼容性等等,对发现的问题及时的进行处理。最后项目开发完成,测试通过之后我们的项目其实并没有完,还有更加重要的工作要做,收集客户反馈的信息(可以在开发中嵌入相关程序或其他),对项目进行更新及其完善。^ _^说了这么多,也不知道说清楚没有!
9、目前除了Android SDK,还有NDK。NDK主要应用在哪类项目的开发?是否值得我们关注和学习?
答,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK(NDK)的可以让开发者更加直接的接触Android系统资源,并使用传统的C或C++语言编写程序,并在程序封包文件(.apks)中直接嵌入原生库文件。NDK主要用于一些具有大量逻辑计算和高性能的图像渲染的工作,比如我们要开发款大型的3D游戏,那么如果使用Android SDK通过Java来开发,速度和性能上很难满足我们的要求,这是就可以使用NDK通过C\C++来开发原生的程序来处理这些渲染,可以极大的提高我们游戏的性能。所以我们很有必要对NDK进行学习。
10、最后,有哪些比较好的Android社区向开发者推荐?
答:随着Android的发布,一个又一个的Android技术社区诞生了,甚至以前一些大型的社区也有开放了Android板块,因此开发者能够找到学习资源的社区也就很多,下面几个是比较典型的可以推荐给大家。
◆Google Android主站:http://code.google.com/Android/
◆Android官方文档:http://code.google.com/Android/documentation.html
◆Android中国开发者团队: http://groups.google.com/group/Android-developers-zh
◆Androidev社区:http://anddev.org/
◆EoeAndroid社区:http://www.eoeAndroid.com/
最后,大家不要忘了,Android的开源就是给开发者们最好的礼物!最好的资料!