所以BlackBerry系统的邮件优势在中国不存在,目前BlackBerry OS在智能手机操作系统的市场份额占据第三位i,BlackBerry手机市场主要在美国。
windows mobile是微软由于Pocket PC和Smartphone的软件平台。windows mobile系统将大家熟悉的Windows桌面延伸到了移动设备中。windows mobile是Microsoft为手持设备推出的“Windows移动版”。受Android的冲击,目前Windows Mobile在智能手机操作系统的市场下降到4%左右。
Linux凭借其开放源代码、免费的优势,经过来自全球程序员的努力,再加上google、IBM等计算机巨头的支持。Linux在手机操作系统市场中成为了衣服新生的力量,尤其是在许多知名厂商如摩托罗拉宣布支持Linux手机操作系统之后,Linux的市场份额有增加的趋势。目前基于Linux的智能手机占有7.3%的市场份额。
Palm OS由Palm公司研发,是一种32位的嵌入式操作系统,它的操作界面采用触控式,几乎所有的控制选项都排列在屏幕上,使用触控笔进行所有操作。目前基于Palm OS的智能手机占有2.3%的市场份额
[12]
[9]
[8]
。
1.3 课题来源
计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不可少的工具了。但是计算器的发展经历了漫长的过程,凝聚无数先人的智慧,甚至连计算机的发展都可以说是源于计算器的发展。计算器和计算机一样都能够实现数据的输入、处理、存储和输出这些基本的功能,但计算器区别于计算机的地方就是,它不能自动的进行计算,必须要求由人来操作完成计算;而计算机通过提前编写好的程序就能够自动的按照程序进行处理。所以计算器和计算机的一个显著的区别就在于是否需要人为地操作来完成运行。这二者还有另一个本质性的区别。计算器的处理数据的方法是生产时就已经固化在系统中了,所以计算器只能按照系统中规定的处理方法来处理用户要求的计算任务;而计算机由于可以自行安装操作系统和各种的相关软件和硬件,理论上计算机拥有的可扩展性是无穷的。所以简单的说,计算器和计算机的本质性区别就在于该系统是否存在可扩展性。
在我所了解到的知识中,最早的计算工具可以追溯到中国古代一种叫做筹策(又叫算筹)的东西上。这种计算工具在计算的时候摆成纵式和横式两种数字,按照纵式相间的原则表示任何自然数,从而进行加、减、乘、除、开方以及其它的代数计算。负数出现后,算筹分为
3
红和两种,红筹表示正数,黑筹表示负数。虽然我对于这种计算的原理不是很了解,但是不得不说,这种运算工具和运算方法确实是当时世界上独一无二的。
直到今天仍有一些人在使用的珠算或者叫算盘,是中国古代计算工具中的另一项伟大发明,而从明朝开始使用的算盘就已经与现代的算盘几乎完全相同了。
以上介绍完了中国关于计算工具的发展,下面我们来看看西方社会中计算工具的发展情况。我通过查询资料得知,17世纪初这个时期,西方国家的计算工具开始有了一个较大的发展,英国数学家纳皮尔发明的\纳皮尔算筹\,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺的功能不仅仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具的产生不单单是带动了计算器的发展,更是为现代计算器的发展奠定了一个坚实的基础。虽然当时的技术水平有限,这些工具使用的不是机械或者电子作为载体,但是这些计算工具却为了后世的计算器提供了一个良好的思路。
1642年,伟大的法国科学家帕斯卡在年仅19岁的时候就利用了算盘的计算原理发明了世界上第一部机械式的计算器,在这个计算器中有一些互相咬合的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,靠这样来实现十进制的算法,人们可以转动齿轮,把想要输入的数据输入进去,计算结果就会出现在另一个窗口中,但是这个计算器只能做一些加减计算。1694年,莱布尼兹在德国将其改进,使这种计算器成为可以进行加减乘除计算的计算器。此后,一直要到20世纪50年代末才有电子计算器的出现。
2 基于Android平台计算器相关技术概述
本章介绍了基于Android平台计算器相关技术。首先介绍了各种智能手机平台系统,并进行分析。重点介绍了Android平台系统,对Android体系结构及平台功能进行了介绍。同时还对本文界面开发实现要用的XML技术进行了简单的介绍,具体如下。
4
2.1 Android手机平台
2.1.1 Android起源及优势
Android平台自发布以来就一直吸引着广大开发者的目光,Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件
[14]
。Android平台具有以下优点:
(1)平台的开放性允许任何厂商加入,使其拥有更多的开发者,新颖的应用功能及创意可以不断地出现。
(2)脱离了运营商的束缚,让手机更加贴近互联网。
(3)应用程序都是基于java开发的,java具有一次编写、到处运行的跨平台性。能够实现在所有的Android设备中运行,真正做到了硬件的无关性,降低了开发者的负担。
(4)提供了标准的API和SDK开发包,手机厂商可以根据需要自行开发或者使用已有的程序,从而打造出富有特色的Android平台。
2.1.2 Android体系结构
Android平台架构
[15]
从上至下包含五部分:应用程序(Application)、应用框架
(Application Framework)、开发库(Libraries),运行时环境(Android Runtime)以及Linux内核,如图2-1所示.
(1).应用程序
Android同一系列核心应用程序包一起发布,该程序包包括email客户端、SMS短消息程序、日历、联系人管理程序等。所有的应用程序都是用Java语言编写的。
(2).应用框架
应用框架式进行Android开发的基础。应用程序框架层包含了视图系统、内容提供器、窗口管理器、活动管理器、通知管理器、资源管理器、电话管理器和包管管理器9大部分。
5
图 2-1 Android架构图
在Android中,任何一个应用程序都可以发布自身的功能块,而其他应用程序则可以使用已发布的功能块。基于这样的重用机制,用户就可以方便地替换平台自身的各种应用程序组件,这在Symbian和Windows Mobile平台中都是无法实现的。虽然Android本身已在框架中提供了许多软件组件,不过这并不表示所有的应用程序一定要调用Android本身已在框架中提供了许多软件组件,不过这并不表示所有的应用程序一定调用Android所提供的组件,开发人员在开发Android平台上的应用程序时,也可以开发新的软件组件,并将该软件组件放入Android的应用程序框架中。
(3)开发库(Libraries)
Android包含一套C/C++开发库,主要包括:libc、Media Framework、WebKit、SGL、OpenGL ES、FreeType、SQlite等。这些库被应用于Android系统的各种组件中,开发人员可以通过Android应用框架调用它们。
(4)运行环境(Android Runtime)
Android虽然采用Java程序语言来编写应用程序,但并不使用J2ME执行Java程序,而是用Android本身自带的Android运行时环境。Android运行时包括核心库和Dalvik虚拟机两部分,如图2-2所示,这两部分具体功能如下:
核心库包含两部分内容:一部分为绝大多数Java程序语言所需要调用的功能函数,另外一部分为Android的核心库,如android.net、android.os、android.media等。与标准
6
Java语言不一样的是,每个Android应用程序都有一个自用的进程,即Android不是用一个Dalvik虚拟机来同时执行多个Android应用程序,而是每个Android应用程序都有一个自身的Dalvik虚拟机来执行。
图 2-2 Android 运行时
Dalvik是一种基于寄存器的Java虚拟机。Dalvik虚拟机是专门为移动设备而设计的,它在开发时就考虑到了用最少的内存资源来执行,以及支持前面提到的同时执行多个虚拟机的特性。Dalvik虚拟机有许多地方参考了Java虚拟机的设计,不过Dalvik虚拟机所执行的中间码并非是Java虚拟机所执行的Java字节码,但也不直接执行Java的类文件,而是依靠转换工具dx将Java字节码转换为dex格式。
(5)Linux内核(Linux Kernel)
Android的内核系统服务依赖于Linux2.6内核(如图2-3所示),如内存管理、进程管理、安全性、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层,这样应用程序开发人员就无需关心硬件实现细节。
图 2-3 linux 内核
整体架构上,Android相比其他平台显示出了自身的特点,例如集成了WebKit浏览器、Dalvik虚拟机等模块、提供了开源的代码、可重用和可替换组件的程序应用框架、SQLite结构化的数据存储的数据库等特点。
2.1.3 Android平台功能特征
Android平台具有很多独特的功能特征,具体如下。
7