GPL v2的。有利于商业的发展。
6、能很好的支持Linux社区。
2.3 Android的不足
由于Java作为应用程序开发语言,传统的现有的第三方应用仍然有限,但由于Android是一个完全开源的移动计算平台,相信第三方应用程序迅速丰富起来。
谷歌提供了一套Java核心包(J2SE5,J2SE6)的Java的有限子集尚未致力于与Java的任何细节的遵守,可能导致进一步的分裂Java阵营。
1)以改善现有的应用程序现在所做的是不够的,开发者需要做大量的工作的[9]。
2)非常快的更新操作系统版本,该接口是不一致的,也有在用户体验感的差异。
3)基于QEMU工具来开发调试仿真器是不是很丰富,不仅支持电话,短信,等等,都是缓慢的。
4)他们没有的Push Mail和Office(DataViz公司,Quickoffice的计划近期推出)功能,关键是为普通消费者用户,企业用户的支持仍然薄弱。
2.4 Android带来的影响
之后推出的Android可能会影响行业,包括移动通信行业的软件开发,手机行业,消费者是国家的核心。
2.4.1 对消费者的影响
加大高端手机的选项。
1,Android的考虑,在早期的设计与现有的业务,他们必须改变,从过去的主要变化,从计算机使用手机作为指导整合。新生的应用,如:谷歌地图和衍生应用,Gmail时,GTalk的,等等。
2,GPS卫星导航,手机摄像头,MP3,蓝牙等给予支持Android的分类主要选择。
3,Android平台是唯一一个免费的,但一些本地库将需要一定的费用,但大部分都是使用费;可以使用的Android的Java程序开发,但由于它是一个虚拟机(虚拟机)的Dalvik的Java字节码转换成自己的格式,避免了需要支付LIN的Java授权费有关[10]。
4
2.4.2 对手机制造商的影响
Android是计算软件平台的移动开源模式,建立了一个谷歌为首的行业巨头有很多的产业联盟,实现高效开发,降低成本。
因为它是开源产品,非主导的制造商,你能避免的领先制造商在上述核心技术的空间,打造一个更具竞争力和差异化的产品[11]。
2.4.3 对运营商的影响
丰富的数据服务,将导致在数据通信中的显著增加。 增加手机的来源,价格也更实惠。
2.5 JAVA介绍
Java是一种编程语言的网络,其基本结构非常类似于C ++,但它是简单的。它结合了一些功能和其他语言的优点,又避免了它们的缺点。 Java语言是简单的,废旧很少在C ++中使用,它是复杂的,混乱的特点,不需使用指针,并提供了自动垃圾回收,因此程序员不需要担心存储器管理[12]; Java语言是体系结构中立的,因为它使用的第一个聚合成中间代码(字节码),然后加载奇偶校验,然后解释给其他的机器代码来执行,只要由Java虚拟机的支持,可以运行各种Java程序的; Java语言定义,在Java平台的Java程序将被合并成字节码格式,然后就可以实现运行Java平台的任何系统,在运行时,Java平台的Java解释器,他们被授权传达字节码执行,类的性能,你需要加载运行环境的结合部; Java语言是多线程的,多线程指的是相同的应用程序中,有多个数据流同时来执行顺序较内部的多线程程序可以统称为执行多个线程一次。可以更好地表达多线程程序和解决现实生活中的问题,是计算机应用与工艺设计发展的必然趋势。
系统为什么不选择C或C++语言和Java的主要原因,选择Android的应用层是通用的中级Java字节码,它不需要各种硬件模型的每个厂家封装的等效版本。为了避免游戏版本,诺基亚,联想版的情况下moto的版本。一次编写,到处运行。其次,在竞争中Java和.NET平台是应用程序本身最适合的一个平台,有一个庞大的开发基地,节省大量的再教育[14]重新学习的成本。
JAVA实现数据交换停止使用的I / O(输入/输出,输入和输出)流,该流是指在所谓的能够输出的任何数据源或数据对象是能够接收数据的数据源对象。用于操作Java流对象内置的Java IO包,其包含一系列的文件和目录来运行读取文件并写入类[15]的操作的属性。
DOM(文档对象模型,所述文档对象模型)可以是一种语言的与平台无关的方
5
式来访问和修改文档的内容和结构。加工该XML文档或HTML(超文本标记语言,HTML)(可扩展标记语言,可扩展标记语言)的一种常见的方法。您可以使用的设计是基于对象管理组织和DOM在任何编程语言的法规。让您DOM技术用户能够动态地更改页面,您可以动态显示或隐藏元素,改变它们的属性,DOM的技术正在使大大提高了互动网站。
在工作状态下,对于任何一类的Java反射,了解所有的属性和这个类的方法;为别的,你可以以任何方式调用;的方式来动态地捕捉动态调用对象的信息,并调用函数反映了Java语言的机制。 Java反射机制主要提供以下功能:识别属于任何一类在运行时的对象;在运行时,任何类对象的构造;统治阶级的成员变量和在运行时的方法;使用任何运行对象时程序;生成动态代理[17]。
2.6 Android的系统架构
Android系统架构如图2-1所示。
图2-1系统架构
2.7 Android内核
Linux 内核版本2.6
位于硬件和软件堆之间的抽象层
核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。
6
图2-2linux内核
Android的依赖于Linux 2.6内核提供的基本服务,如安全性,内存管理,进程管理,网络,硬件驱动程序。这里,Linux内核中所起的层和该系统的其他电平之间的硬件抽象层的一个概念。操作系统是不是一流的GNU/ Linux的,因为他们的系统库,系统启动和编程接口和标准的Linux系统是不同的[18]。
从Linux的角度来看谷歌的当前版本中,它没有虚拟内存文件系统,使用该系统YAFFS2文件系统,某些照片也可以看出,在SDK的安装目录。用模拟器-console命令,就可以得到一个简单的控制Android的壳,该系统包含的设备,提供一些基本的命令工具,集中在/ sbin目录,/系统/ sbin目录,/系统/斌在主机流体,但很简单,就是某种秩序。
Android系统目前的模式将通过Eclipse的自动安装,通过课题研究,大致步骤是存放在/数据/应用程序数据/ Android的隐藏数据和共同的核心并没有显著差异,可以作为一个Linux的发展和黑客。
图2-3 lib运行库
2.8 Lib和运行环境
2.8.1 Lib
C / C ++库:使用不同部位的Android
随着应用程序框架开发人员可以使用它的功能[19] 包括以下内容:
媒体库:MPEG4 H.264 MP3 JPG PNG...... WebKit的/ LibWebCore Web浏览引擎 我的SQL关系数据库引擎 2D,3D图形库,引擎
支持丰富的类库,2D和3D图形库的OpenGL ES,SQLite数据库,对象数据库db4o的图书馆,媒体库,基于Linux的C库中的底层系统,等等,所以它更容易
7