基于Android计算器功能的实现(3)

2019-05-18 13:22

应用程序架构:在应用程序架构内已经具备了多种不同的基础组件,在开发应用程序时,可以直接调用这些组件,极大地节省了程序开发人员的时间与精力。

Dalvik虚拟机器:在Android平台上使用的java虚拟机,不是Sun公司的标准java虚拟机,而是Google自主开发的代码为Dalvik的虚拟机,它不但保证了JavaAPI的兼容性,同时针对移动手机进行了大幅优化,占用资源更少,运行效率更高。

集成的浏览器:集成的浏览器是Android内建的浏览器,是以WebKit的浏览殷勤为基础开发的。WebKit是一个开源浏览器网页排版引擎,目前使用了WebKit引擎的浏览器主要有:Safari,Midori,Epiphany等。配合Android手机的功能,可以再浏览网页时,达到更好的效果,例如:局部缩放网页上的咨讯、触控式的操作等效果。

优化的绘图能力:在程序里可以用到的绘图功能分为2D和3D两个方面。在2D方面,Android提供了一套特有的类库(SQL);而在3D方面则是使用OpenGLES1.0(OpenGL for Embedded Systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。

SQlite数据库:SQlite提供结构化的数据存取。SQlite

[16]

是一款轻型的数据库,它的

书记目标是嵌入式的,目前已经有很多嵌入式产品使用了它,它占用的资源非常低。它能够支持windows、linux、unix等主流的操作系统,同时能够和很多程序语言相结合,比如PHP,Java等,还有ODBC接口,与Mysql,PostgreSQL相比,它的处理速度更快,无需安装和管理配置。它是一个储存在单一磁盘文件中的完整数据库,体积很小只有250KB,但所支持数据库大至ZTB。它虽然很小巧,但是支持的SQL语句毫不逊色于其他开源数据库。同时它还支持事务功能和并发处理等。SQlite也是一套开发性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。

多媒体的支持能力:主要用于播放媒体文件。包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放URI地址”模式——在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF等格式。

GMS技术:Global System for Mobile Communications,即全球移动通讯系统,俗称“全球通”,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球

[17]

GSM技术是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

蓝牙、EDGE、3G及Wi.Fi:蓝牙技术是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),即增强型数据速率GSM演进技术。EDGE是一种从GSM到3G的过渡技术,它

8

主要是在GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和8PSK调制技术

[18]

由于8PSK可将现有GSM网络采用的8GMSK可将现有GSM网络采用的GMSK调制技术的信号空间从2扩展到8,从而使每个符号所包含的信息是原来的4倍。Wi.Fi(WireleddFidelity),即无线保真技术,和蓝牙技术一样,都属于在办公室和家庭中使用的短距离无线技术。该技术使用的是2.4GHz附近的频段,该频段目前尚属没用许可的而无线频段。其目前可使用的标准有两个,分别是IEEE802.11a和IEEE802.11b。这些通讯能力是属于手机硬件方面的展现,也是在开发android应用程序时可以突出的特点之一。

GPS:Global Positioning System,即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统

[19]

。这个系统可以保证在任意的时刻和任何地点都可以同时观测到4颗卫

星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人。这个同样也是属于手机硬件方面的展现,也是在开发Android应用程序时可以突出的特点之一。

丰富的开发环境:在Android SDK提供相当完善的程序开发环境,其开发环境包括设备模拟器、调试工具、内存和性能检测等方面的评估功能,另外也可提供用于Eclipse IDE的开发插件界面。

2.2 Android SDK介绍

Android SDK是Android手机操作系统运行的平台支撑,它由开发文档、实例、编程API、开发工具集等组成[20]。Dosc包含了的Android开发文档,Samples包含了Notepad、APIDemos、Snake等示例程序,Tools包括全部开发、编译和调试工具。

Emulator.exe:能启动Android模拟器。Android模拟器用来在虚拟的Android环境下,运行应用程序。

Adb.exe(Android debugging bridge):是Android的一个调试工具,ddms是一个在adb基础上的一个图形化工具。Adb的工作方式比较特殊,采用监听TCP5554等端口的方式让IDE和Qemu通讯,默认情况下adb会监听daemon相关的网络端口,所以当运行Eclipse时adb进程就会自动运行。

Android是一个操作系统平台,启动一个模拟器就启动了一个操作系统。可以使用Android adb连接到这个操作系统,并运行一些系统命令,就像平时大家用终端访问一个远程linux、unix服务器,可以使用adb shell。如下进行shell后进行ls命令,在该shell

9

下可运行linux下一些常用的命令。注意:adb shell默认只启动一个模拟器(emulator),如果需要启动多个模拟器,则需要添加相应的参数。如刚才使用的adb devices命令返回了两个模拟器,如果要连续其中一个则加参数-s;使用加:adb –是emulator-5544 shell。

2.3 XML技术

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记易于建立,虽然XML占用的空间比二进制数据所占用的空间多,但XML极其简单易于掌握和使用。

XML作为一种广泛且被各大厂商接收的语言,具有自己的优点,其优点主要体现在以下几方面。

(1)开放性

XML成功的主要因素之一是它的基于规范和标准的开放性。XML技术根据标准规范,允许在任何平台上取得和处理数据。更重要的是XML允许通过HTTP和其他传输协议交换XML数据。

(2)可扩展性

可扩展性是指,使用XML可以按照自己的需要制定语言。XML继承了SGML的许多关键特性,首先是良好而可扩展性。XML允许使用者创建和使用自己的标记而不是HTML的有限词汇表,用户可以根据应用需要定义自己的标记语言,也可以建立一套特定行业标记语言,作为信息共享和数据交换的基础。使用XML作为表单的描述格式,可以满足用户对表单定制的需求。

(3)XML文档的内容和结构完全分离

XML的形式和内容是分离的,这样可以让数据的收集者专注于数据处理,相同的数据无需改动即可在不同的XSL(XML Style language)页面呈现不同的风格。同时,内容和形式的分离使XML文档在不同应用系统之间的转换变得非常简单,用户只需要将两个不同XML文档的DTD(Document Type Definition)或XML Schema进行映射。

10

2.4 JNI技术

JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许java代码和其他语言编写的代码进行交互。JNI的初衷是为了本地已编译语言,尤其是为C和C++而设计的,但是它并不妨碍使用其他语言,只要符合约定且被支持就可以了。JNI设计的目的是在java应用程序中调用其它语言编写的功能模块。其结构如图2-4所示。

图 2-4 JNI 调用关系图

标准的java类库可能完成不了所需要的功能特性,或许已经有了用其他语言写成的库或者程序,而希望在本java程序中使用它,则可通过JNI调用。如果需要用底层语言实现一个小型的时间敏感代码,比如汇编,然后在java程序中调用这些功能。实现JNI的步骤如图2-5所示。

(1)编写带有native声明的方法的java类,native所声明的方法既是java调用但其实现过程是由别的语言完成的。

(2)使用javac命令编译所编写的java类,生成可以再JVM运行的字节码。使用javah?jni java类名生成扩展名为.h的头文件。在自动生成的头文件中将声明有待实现的C函数。

(3)使用C/C++实现.h文件中所声明的方法。

(4)将C/C++程序文件编译成动态链接库文件,然后将动态库加载到系统中,然后应用程序通过native接口调用即可。

11

图2-5 JNI 开发流程

3 基于Android平台计算器设计

设计实现一个成功的应用程序,不但要有使用的功能配置,也要有有好的用户界面,下面就是我对基于Android计算器的设计简要介绍。

3.1 系统的总体设计

根据任务书,符合使用用户的实际要求,系统应实现以下功能:计算器界面友好,方便使用,显示至少6位结果,具有基本的加、减、乘、除功能,能够判断用户输入运算数是否正确,支持小数运算,具有退格功能,能够删除最后一个输入,具有清除功能,即C,具有结果存储功能,能够显示存储器状态,支持触屏手机。

整个程序基于android技术开发,出总体模块外主要分为输入模块、显示模块以及计算模块(包括一些其他功能)这三大部分。在整个系统中总体模块控制系统的生命周期,输入

12


基于Android计算器功能的实现(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基本能力测试201104

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: