基于Android平台软件开发技术探析

2015-01-20 08:00赵海涵
电脑知识与技术 2014年36期
关键词:二次开发应用程序语音

赵海涵

摘要:2007年11月,Google推出了智能手机操作系统——Android,该操作系统在提出之初便受到了全世界的瞩目。随着移动智能终端的不断普及,软件开发技术的不断发展,Android应用软件的数目与日俱增,到目前为止,Android成为最热门的移动终端开发平台之一。该文对 Android平台架构和开发流程进行分析,重点对基于 Android平台的软件开发技术进行介绍,期望为基于 Android平台的软件开发提供一些意见。

关键词:Android平台;软件开发技术

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)36-8684-02

随着时代的不断进步和科学技术的不断发展,人们对获取信息有着强烈的需求,由于移动终端的便捷性、可携带性,使得移动终端成为获取信息的重要渠道之一。移动智能终端的功能越来越强大,应用软件越来越多,移动智能终端的应用逐渐的改变着人们的生活方式,同时,移动智能终端的应用对移动互联网产业的发展有重要的启发作用。

Android平台具有良好的开放性、便捷性,采用Android平台进行移动智能终端的开发越来越受到人们的青睐,Android平台对移动智能终端的软件开发越来越重要。Android平台是Google在2007年11月推出的一款智能手机操作系统,其主要特征为开放的源代码,且基于Linux内核,Android主要是面向移动智能终端的软件进行开发的丰富平台,它具有吸引人的用户界面元素、网络应用、数据管理、位置服务等功能,同时可以开发出具有特色的应用程序。Android的系统架构主要包括4部分,即应用层、应用架构层、系统运行库层、Linux内核层。应用层主要是用JAVA语言编写的可运行的程序;应用架构层是Google核心应用所使用的API架构,同样适合开发人员开发自己的应用软件;当使用Android平台时,Android系统会在系统运行库中支持用户的各个组件,并为用户提供服务;Linux内核层支持Android的核心系统服务,如安全性、网络协议、内存管理等。

1 基于Android平台的软件开发流程

Android平台为用户提供了开放的源代码,同时提供强大的开发工具,简化了用户的开发过程,提高了软件开发的效率。基于Android平台的软件开发流程主要包括4个阶段:安装相应的开发包和工具并对其进行正确的配置、创建项目并对相关应用软件进行编写、在模拟机上对应用软件进行调试和测试、发布应用软件。

2 基于Android平台的软件开发技术分析

2.1 数据存储技术

数据存储是应用软件开发开发过程中非常重要的一个环节,数据存储对软件的顺利实施有很大的影响。在Android平台中,数据存储包括两类,即外部存储和内部存储,外部存储主要包括网络和内容提供器(Content provider),内部存储主要包括SQLite数据库存储、系统配置、文件存储。在基于Android平台的软件开发过程中,主要用到的是应用程序的内部存储技术。

为了对应用软件的系统配置信息进行保存,在Android平台中主要有SharedPrefereneces类来实现,SharedPrefereneces类是一种简单数据存储方式,其可以通过键值对来存储基本的数据信息。

对于文件存储来说,Android平台使用基于Linux的文件系统,应用程序可以创建私有文件,该私有文件仅供该应用程序访问,并进行数据的存储。文件既可以在内部存储器上进行保存,也可以在外部存储设备上进行保存,如SD卡。对于文件的访问方式来说,Android平台支持JAVA的各种输入/输出方法和相关的类,同时也提供能够简化读写流文件的各类函数。另一方面,基于Android平台的软件开发中都使用不同的用户ID,创建的文件都是私有的,仅自身可进行访问。如果数据交换要在两个程序或者多个程序中进行,则需要外部存储技术,即内容提供器(Content provider)来实现。

SQLite数据库存储主要是使用标准的SQL语句进行操作,数据以ASCII码的方式进行存储,提供B-Tree存储数据的模式,其主要特点是安全、可靠、稳定、开放等。基于Android平台的数据库存储提供两个类可以简化SQLite数据库的各个操作。第一个类是SQLiteDatabase类,它可以对数据库操作的接口信息进行封装,从而简化数据库的查询、添加、删除等操作。第二个类是SQLiteOpenHelper类,它可以进行创建数据库、更新数据库、打开数据库、关闭数据库等操作。对于创建数据库来说,首先需要根据应用软件设计出相应的数据表格,其次在应用程序中创建、打开数据库,随后对SQLiteDatabase类和数据库接口进行创建,并通过数据库接口利用SQL语句来进行操作,然后创建数据库的查询接口,对数据库进行查询,最后关闭数据库。

2.2 界面开发技术

界面开发技术是软件开发中的一个基本的及时,几乎所有的程序对会用到,良好的界面会为用户带来舒适的感觉,从而提高用户的体验,提高软件的应用量。基于Android平台的软件开发过程中界面开发主要包括3中,即使用代码动态创建、使用XML文件进行布局、自己进行绘制。在软件开发过程中,有时需要动态的对一些布局和空间进行创建,此时就需要使用LayoutInflater来完成动态界面的创建。使用XML文件进行界面开发,并在Activity中进行引用,这种软件开发技术是最常见的一种,使用范围也较广泛。在使用XM文件进行开发过程中,首先要对界面美化进行了解,系统的控件在很多时候不能满足软件的需求,从而需要通过更换图片、添加背景等操作来美化界面,其次要在Layout布局中构造出软件需要的界面,最后要根据软件界面的需求对界面要使用的控件和特定参数进行加载。对于自己绘制界面来说,主要是用于游戏软件的开发过程中,通过继承SurfaceView来进行绘制,从而制作出游戏特定场景所需要的特定界面,提高游戏软件开发的质量。endprint

2.3 语音识别技术

基于Android平台的移动智能终端具有强大的语音识别技术,用户可以通过语言指令来发送短信、电子邮件、拨打电话,甚至用户可以通过语言来操作导航信息。另外,在Android中的游戏也可以通过语言识别及时来进行操作。基于Android平台的语音识别技术最大限度的改善了人机的交互行为,简化了用户的操作。

Android平台中主要通过RecognizerIntent来实现语音识别,用一些常量来表示语音的模式,如EXTRA_LANGUAGE、ACTION_RECOGNIZE_SPEECH等常量。 Android平台中的语音识别方法包括以下3中:使用intent调用语音识别程序、应用程序自己调用语音识别库、调用语音Service识别。在使用intent调用语音识别程序时,录音并识别后将经过识别的字符串返回到用户程序中,从而完成语音识别的过程。应用程序自己调用语音识别库时,程序将会以循环的方式等待录音的结果,从而对字符串进行识别。调用语音Service识别时,将录音结束后并经过识别的字符串通过Listener返回到应用程序中,以满足应用程序的需求。

2.4 二次开发技术

基于 Android平台看软件开发中的二次开发技术包括面向应用层的开发技术和面向底层组件的开发技术。 Android平台的应用层开发技术周期短、技术成熟,在开发过程中应用较广泛。该技术主要以Framework开发框架为基础进行的,通过调用JAVA通用类库和 Android平台提供的类库来完成应用程序的二次开发。面向底层组件的开发技术主要以JNI机制为基础,利用JNI机制的功能,加上 Android平台提供的NDK二次开发工具来实现底层组件的二次开发。

目前,多家公司推出了基于 Android平台的二次开发平台,为 Android平台下的软件的二次开发提供平台支持,简化二次开发的操作,缩短开发周期。

3 总结

移动智能终端的发展为移动互联网的发展带来了巨大的发展机遇,各种不要的便携式设备、移动终端的出现为人们的生活带来了便利,面向移动智能终端软件的开发成为一个研究的热点问题。基于 Android平台的移动智能终端软件的开发受到了前所未有的重视,也必成为未来软件开发的发展趋势。在开发过程中要根据一定的流程,在基于 Android平台的系统架构上,应用基于 Android平台的软件开发技术进行开发,同时需要满足用户的需求,提高人机交互能力,从而开发出具有较高应用价值的软件。

参考文献:

[1] 张伟.基于分布式存储的移动GIS技术与应用研究[D].解放军信息工程大学,2010.

[2] 罗文彬.基于位置服务的移动GIS关键技术研究[D].西南交通大学,2011.

[3] 寿柏炎. 基于Android平台软件开发方法的研究与应用[J].计算机光盘软件与应用,2013(1):244-245.

[4] 王珂,马宏斌,王一圣. 基于Android平台的软件开发若干关键技术研究[J].测绘与空间地理信息.2014,37(9):14-17.endprint

猜你喜欢
二次开发应用程序语音
浅谈基于Revit平台的二次开发
魔力语音
删除Win10中自带的应用程序
基于MATLAB的语音信号处理
浅谈Mastercam后处理器的二次开发
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
西门子Easy Screen对倒棱机床界面二次开发
基于Pro/E二次开发的推土铲参数化模块开发
三星电子将开设应用程序下载商店