Android平台越来越火已经成为事实,如何进行学习呢?本文给大家进行了详细的介绍。
  1、我们知道Android是使用Java语言进行应用开发的,对于一个入门者,想要开发Android知识有哪些要求?需要哪些知识储备?
  答:对于该问题确实有不少人咨询过,始终有一点可以肯定,那就是Java基础越好,学习Android应用开发就越容易,越轻松。没有Java基础也可以同时学习Java和Android(这需要根据自身情况来看,我个人不推荐这种方式)。因为Android应用程序使用Java语言来编写,使用JDK中的Javac编译器进行编译,从而产生Java字节码(.class文件)。然后,这些文件还要被转化成Android的.dex文件,这部分转换工作包括一些优化和压缩等技术,由Dalvik虚拟机来完成,应用开发人员只需要使用Android提供的API来完应用程序编写即可,所以在学习Java基础时就可以针对Android所引入的这部分来学习,概括一下就是:Java标准语法规则、Java提供的一些工具内库。另外,Android的界面布局使用xml语法规则,所以有必要了解一下xml相关的知识。
  2、已经有一定经验的Java开发者,想要走进Android进行应用或者游戏的开发,需要重新学习哪些知识?
  答:Android引入了大部分Java API及其规则,其实在Android平台中很多应用程序功能的实现是既可以使用标准的Java API,也可以使用Android API,比如网络通信、I/O模块等都能同时兼容,但是Android也增加了一部分专门使用于Android的API,比如图形图形,IPC机制等。那么对于有Java经验的开发者所要学习就主要在Android所新增这部分API及其工作原理。其实我在写《Android应用开发揭秘》时就考虑了这部分有一定Java经验的开发者,同时对应用和游戏进行了分别讲解,几乎介绍了Android平台所新增的API的使用,另外该书还特别适用于有一定J2ME经验的开发者。
  3、之前进行.NET或者PHP开发的程序员转向Android开发有什么快速的方法吗?
  答:这个问题就好比我已经可以驾驶小桥车了,该如何去驾驶大客车或者大货车呢?因此需要学习的就是大客车或者大货车与小桥车。Android是一个操作系统,因此其应用程序编写的规则、工作原理和机制都需要符合其系统要求,所以这部分开发者应该从该平台不同的规则、构架、原理和机制出发,学习Android所提供的API。对于PHP转Android的稍微麻烦一点儿,需要首先学习面向对象的编程(学习Java)。
  4、Android开发是针对移动设备的,与传统的软件开发相比有哪些不一样的地方需要我们注意?
  答:这个问题,我觉得用“灵活”两个字来回答再好不过了,传统的软件开发受到诸多因素的影响,比如:设备、API限制等,而Android本身就是一个开放源码的操作系统,这样就使得开发者可以很轻松的通过源码来解决很多传统软件开发中遇到的非常痛苦的问题。说实话,我在当初接触Android的时候,第一感觉就是这个系统太灵活了,是一个适合开发者根据自己的思路来创新的平台,比如:对于某些功能的实现,他并没有限定开发者必须使用某种方式或者某个API来完成,而是让开发者自由的发挥,这就是与传统软件开发最大的不同,但是需要注意,在开发过程中,我们要始终保持不违背Android系统的权限、机制和原则。
  5、能不能为Android开发的初学者推荐一条学习路线?在这条线路中有哪些重点需要关注?
  答:对于一个初学者首先应该学习Java基础,熟悉Java这种编程语言,这部分比较重要将直接关系到学Android的时间进度,当你能够独立写出部分Java程序时,可以开始进入Android的学习了,进入Android的学习应该首先掌握Android的系统结构,应用程序框架,应用程序必须的各个模块,当然这部分内容可以直接参考官方提供的开发入门文档,当入门之后可以开始深入Android各个模块进行学习,了解各模块的功能、机制,从而对其提供的API接口进行熟练且灵活的运用。
  6、这样的路线走下来大概需要多长时间?从事应用开发和游戏开发的学习路线和重点是否会有所不同?
  答:时间的问题就需要根据个人的不同情况来衡量,一般对于没有任何Java基础的开发者来说至少需要2月以上来学习Java,因为这也将直接影响后期对Android的学习,有了Java基础,对于Android的学习就简单很多了,几天时间都能完成Android入门。入门简单,但是入门之后的深入需要一个长期的经验积累。对于应用方向的开发者需要重点掌握Android的各个组件(包括各个组件的组合运用)、网络通信、音频和视频这些模块,对于游戏开发方向则应该把重点放在图形图像方面包括2D和3D(Opengl ES)渲染。
  7、Android的应用,与Java程序有什么不同之处?
  答:首先从运行环境层次来分析,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进行学习。

转自:http://www.douban.com/group/topic/16271945/

转载于:https://www.cnblogs.com/JerryC/archive/2013/04/02/3832151.html

Android开发入门解答相关推荐

  1. Google Android开发入门与实战

    Google Android开发入门与实战 [作 者]靳岩;姚尚朗 [同作者作品] [作译者介绍]  [出 版 社] 人民邮电出版社     [书 号] 9787115209306  [上架时间] 2 ...

  2. 《Google Android 开发入门与实战》

    <Google Android 开发入门与实战>(含1张DVD光盘) 市 场 价:¥55 书 号:9787115209306 出版日期:2009 年6月 开 本:16开 页码:340 [内 ...

  3. Google Android开发入门与实战(china-pub首发免运费)

    Google Android开发入门与实战(china-pub到货首发免运费) [作 者]靳岩;姚尚朗 [同作者作品] [作译者介绍]  [出 版 社] 人民邮电出版社     [书 号] 97871 ...

  4. 《Android 开发入门与实战(第二版)》——6.6节配置改变

    本节书摘来自异步社区<Android 开发入门与实战(第二版)>一书中的第6章,第6.6节配置改变,作者eoe移动开发者社区 组编 , 姚尚朗 , 靳岩,更多章节内容可以访问云栖社区&qu ...

  5. android开发入门_Android开发入门

    android开发入门 Android is an open source, Linux-based mobile operating system. Android was developed by ...

  6. 《Android 开发入门》我为什么要在Android找工作越来越难的时候开始学习它

    近期一方面是所在的公司招聘Java开发人员很难招到合适的,投简历的人很少:而另一方面,经常听身边的人说Android.iOS方面找工作不好找,特别是没什么经验的,经验比较少的!说是不好找,但在我家所在 ...

  7. Android开发入门 - 简易开心消消乐界面设计

    Android开发入门 - 简易开心消消乐界面设计 第一步,点击File->NEW->new module,进入以下界面,选择第一个,即运行在手机和平板电脑上.点击next. 第二步,在第 ...

  8. 《Android 开发入门与实战(第二版)》——导读

    本节书摘来自异步社区<Android 开发入门与实战(第二版)>一书中的目录,作者eoe移动开发者社区 组编 , 姚尚朗 , 靳岩,更多章节内容可以访问云栖社区"异步社区&quo ...

  9. Android开发入门与实战之Android应用安装卸载

    当一个Android开发者完整的开发完毕一个程序应用软件结束后要进行软件测试,这就是软件测试员的来历,那么在这之前,要进行Android开发应用的安装与卸载. Android开发入门与实战之Andro ...

最新文章

  1. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
  2. 一篇文章告诉你:荣耀10 GT为什么叫全能旗舰
  3. centos下添加管理员组和添加管理员用户及相关操作
  4. 一道笔试题--求二进制数1的个数
  5. jrockit_JRockit – JRCMD有用的命令
  6. java jdbc 乱码_【求助】为什么用纯java jdbc插入mysql一直乱码
  7. MySQL sleep函数使用详解
  8. 添加Android手机 CA系统根证书
  9. java开发需要英语吗_学习Java开发英语不好的可以学吗?
  10. Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)(单调栈)
  11. 【华为提前批】笔试 测评 面试 全流程(结构与材料工程师)
  12. SQL宝典(中文版) 高清PDF版下载
  13. 使用iperf测试峰值带宽
  14. 163邮箱注册容量多大?外贸一般用什么邮箱,海外邮箱哪个好?
  15. 千与千寻 中日歌词与罗马音译(最准确啦)
  16. 【教学类-12-09】20230228《连连看竖版6*6 (3套题目空心图案(中班教学)》(中班主题《》)
  17. c语言手机整人源码,c语言整人代码-20210411015719.docx-原创力文档
  18. hyperf 前置中间件 后置中间件
  19. IOSOpenDev~IOS5.0.1完美越狱后Cydia闪退修复
  20. python核心编程入门_Python核心编程从入门到开发实战

热门文章

  1. Linux C中内联汇编的语法格式及使用方法
  2. Tensorflow详解保存模型(进阶版一):如何有选择的保存变量
  3. [C/C++] constexpr函数
  4. java httpclient 关闭_java中使用httpclient如何关闭debug日志
  5. Java:银行账户类
  6. 结构分析的计算机方法有哪些,第6篇 桥梁结构分析计算机方法.ppt
  7. CSS的几个属性display,float,clear,overflow,visibility
  8. 通过设置rowcount,从Sybase数据库中分页取数
  9. Spring MVC中的视图解析ViewResolver
  10. spring和ejb2.x集成共享applicationContext.xml的问题