Java for JRE与Java for Android有何不同?


13

我对开发这款游戏还是陌生的,并且我开始学习Java,因为有人告诉我这是一个很好的入门方法。我想稍后再为android市场创建游戏,并希望得到大家的好感,所以我知道我到底在处理什么。

我确实意识到Android开发具有不同的体系结构,但没有什么不同(这是一个很好的说法吗?)

谢谢!


4
就其价值而言,Android应用程序通常是用Java编写的。两者之间的区别在于,“ Android”是操作系统,“ Java”是编程语言。它们用于不同的目的(不重叠)。
dash-tom-bang 2010年

阐明了OP的问题标题。
工程师

Answers:


13

要创建Android应用程序,请使用Java和Android提供的扩展库。这些不是Java语言的扩展方式。我的意思是Android随附的库可帮助您实现希望在手机上完成的普通操作。

例如,Blackberry(另一种基于Java的移动操作系统)使用Java作为选择的语言,而Research In Motion在RIM软件包中提供了一组库,可以帮助我提取通常在手机上所做的事情。

您可以使用纯Java,但是大多数时候您想使用RIM提供的RIM库。

如果您不熟悉编程,那么我建议您首先学习良好的Java原理-类,方法,面向对象的编程等;然后学习Google提供的Android API。如果您首先学习Android,则会很快感到困惑,并且不会遵循良好的编程习惯。

我建议从《Head First Java》一书开始。


4

Android使用自己的类似Java的实现。您可以编写Java语法代码,并且可以使用许多Java API,但是有很多区别:

  • Android应用程序具有特殊的生命周期:
    • 没有主要功能
    • 您的应用程序包含带有必须重写的onCreate,onResume,onPause,onDestroy函数的活动
  • 代码被编译为Dalvik操作码(不是J​​ava字节码);
  • 许多API都是相似的,但是您并没有全部的J2SE API。您必须在开发人员站点上检查;
  • 许多API仅限于Android(联系人,电源管理,图形...);
  • IHM是唯一的android系统(没有Swing,没有JavaFX ...)。您必须使用XML声明GUI。
  • 您可以使用Java jar(如果它们仅使用兼容的API),但是它们会转换为dalvik。

因此,它就像一个新平台;但是,如果您了解Java,那么在Android上进行开发就非常容易。下载SDK,并尝试使用提供的示例并对其进行自定义。您可以使用出色的IDE作为Eclipse和Idea(Android插件将在Idea 10 Community版本中提供)。

对于C / C ++极客,您可以使用NDK(本机开发套件),但需要一些Java引导程序代码和JNI知识。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.