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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一枝独秀/51 初级黑马   /  2012-6-22 20:06  /  1950 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JAVA与android间的关系?

5 个回复

倒序浏览
Android 是一个操作系统, Java 是一门编程语言。为了方便开发者编写应用程序,Android 系统开放了一些应用程序接口,即API。这些 API 由类似于 Java 的语言提供。Android 系统的 Java 不同于我们泛指的 sun 公司等的 Java,它们采用的是 JVM 技术,而Android 采用的是 DVM 的技术。 除了语法很类似之外,应该没有更多的共同点了。
回复 使用道具 举报
java是android操作系统之上的应用层的开发语言,android提供了一套属于android的类库(java编写),开发者通过类库去开发应用,而android底层用的是linux的内核,驱动什么的没有悬念肯定是c、c++写的。大概就是这样了,网上这些知识多的是,有一点android基础这些就都明白了。
回复 使用道具 举报
在很多层面上,Android和Java都有明显的相当。Android应用程序是用Java(TM)语言写成的,使用JDK的javac(或等效工具,例如ECJ)来编译。这个过程产生标准的Java字节码(.class文件)。这些文件再转化成Android的.dex文件,从使用的角度来看,它就是一种不同格式的Java class文件。不错,这是一种更优秀的格式;对Sun自从1994年以来的设计有了很大的改进。但就如你可以把一个GIF格式的图片转换成更高级的完美的完全等效的PNG格式,尽管它们的字节流完全的不同。
回复 使用道具 举报
android 上的程序都是由java编写,android系统中有一个java虚拟机,所以运行java程序。但android是一个Linux内核的系统,底层的东西都是C、C++编写的。
回复 使用道具 举报
本帖最后由 周兴中 于 2012-6-25 18:13 编辑

在很多层面上,Android和Java都有明显的相当。Android应用程序是用Java(TM)语言写成的,使用JDK的javac(或等效工具,例如ECJ)来编译。这个过程产生标准的Java字节码(.class文件)。这些文件再转化成Android的.dex文件,从使用的角度来看,它就是一种不同格式的Javaclass文件。不错,这是一种更优秀的格式;对Sun自从1994年以来的设计有了很大的改进。但就如你可以把一个GIF格式的图片转换成更高级的完美的完全等效的PNG格式,尽管它们的字节流完全的不同。


这Dalvik VM和JVM的相当也是很容易看清楚的。并不只是源代码或字节码格式上的问题:它们的runtime对等物上也一样。一但一个”Android class”被加载到Dalvik VM里,它就会像Java class一样运行,像Javaclass一样工作。如果你懂得Java编程(深入到高级的,底层的细节),你也就懂得Android编程。你只需要学一些新的API和框架概念。他们是对等的系统。

Android支持一个不完整的(但相当大的)Java1.5类库子集。这个子集大到一个复杂的JRuby项目几乎不经任何修改就能在Android上运行,很少有限制情况。

Android是一个完整的操作系统,包括一个Linux-based的内核,图形系统和电信堆栈,等等。很显然,我只是谈论其中最常用的部分:Java为中心的用户使用区/依赖于Java源代码、Java classes(不管什么格式)、Java APIs(包括成千上万的常用Java SE APIs)和出色的类Java的虚拟机的应用框架。对于Android和其它的Java平台之间的关系有个准确的说法,就是使用版本的概念。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马