HI,欢迎来到学术之家,期刊咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 安卓系统

安卓系统

时间:2023-05-29 18:02:57

安卓系统

第1篇

安卓系统是由谷歌公司开发的操作系统。它是一种基于于Linux的自由及开放源代码的操作系统。主要用在移动设备中,由谷歌公司和开放手机联盟领导及开发。安卓系统最初是由AndyRubin开发,主要支持手机设备。第一部安卓智能手机在2008年10月发布,后来逐步应用到平板电脑以其领域上。

安卓手机系统作为谷歌企业战略的重要组成部分,进一步推进"随时随地为每个人提供信息"这一企业目标的实现。安卓手机系统包括操作系统、用户界面和应用程序,以及移动电话工作需要的全部软件,而且不存在以往阻碍产业创新的专有权障碍。安卓手机系统必将推进更好、更快的创新,为引动用户提供不可预知的应用和服务。

2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。Android一词最早出现于法国作家利尔亚当发表的科幻小说《未来夏娃》。Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号。

安卓系统的版本名是按照甜点来命名的,每个安卓版本代表甜点的尺寸越变越大。

(来源:文章屋网 )

第2篇

在手机关机状态下,同时按住手机的开机键加音量键,5秒左右,进入recovery模式,按音量键,选择“清除数据”,然后按开机键,确定执行操作,待手机自动重启,进入初始状态的手机系统,故障排除。刷机解决手机系统问题,安卓系统刷机一般分为:卡刷和线刷两种具体刷机方法。可以根据手机的品牌机型,上网搜索卡刷或线刷包,一般附带刷机教程,进行卡刷或线刷操作。刷机,可以解决 一切安卓手机的非硬件问题。

(来源:文章屋网 http://www.wzu.com)

第3篇

鸿蒙系统是一款“面向未来”的操作系统,一款基于微内核的面向全场景的分布式操作系统,它将适配手机、平板、电脑、电视、智能汽车、可穿戴设备等多终端设备。而安卓是一种基于Linux内核的自由及开放源代码的操作系统。

系统一词来源于英文system的音译,即若干部分相互联系、相互作用,形成的具有某些功能的整体。中国著名学者钱学森认为:系统是由相互作用相互依赖的若干组成部分结合而成的,具有特定功能的有机整体,而且这个有机整体又是它从属的更大系统的组成部分。

(来源:文章屋网 )

第4篇

【关键词】安卓系统 系统架构 程序开发制

随着科技的快速发展,智能手机得到了广泛的应用。安卓系统也逐步取代了塞班和微软操作系统,成为应用最广泛的手机系统,并逐渐向更多的便携式设备扩展。跟传统的塞班等系统相比,安卓系统具有很多优点,它具有人性化的界面,使用体验更佳;安卓系统比较稳定和完善,系统运行比较快捷;安卓系统具有极大的开放性,它能够接纳各种应用程序,为程序的开发者和使用者提供了广阔的平台。一般情况下,用户在使用安卓系统时,并不了解整个系统的架构,对于程序是如何开发的也缺乏认知。所以本文对安卓系统架构进行探讨和分析,并对程序的开发探索进行阐述,以供未曾接触过安卓系统的用户了解,也供程序开发者参考。

1 安卓系统平台的架构

安卓系统平台主要是由四个组成部分架构起来的,它们分别是Linux 内核层、应用框架层、安卓运行时以及应用程序层。这四个组成部分使安卓系统比传统的塞班等系统具有更强的生命力,安卓系统具有更广阔的开放性、开发程序平等性以及应用程序开发快速无界限等特点。下面本文对构架安卓系统平台的四个主要组成部分进行介绍。

1.1 Linux 内核层

Linux 内核层是实现安卓系统运行的基础,它是在Linux2.6版内核的基础上进行优化拓展得到的。它通过增加虚拟CPU的方式,使优化而成的Linux内核层能够满足系统运行所需的内存空间和速度。Linux 内核层是一个介于软件组合硬件层之间的一个抽象层,它虽然是以Linux2.6版内核为基础进行开发的,但是该内核层只对安卓系统具有兼容性,所有的接口和标准都跟原版本的内核系统存在差别,这点在使用识别过程中需要注意。Linux 内核层主要是对内存使用、系统安全稳定性以及程序的进程管理进行负责,此外它也负责处理网络堆栈和驱动模块等。Linux 内核层采用了YAFFS2文件系统,替代了原有的虚拟内存文件形式,这使NAND Flash设计具有更好的开放性,整个设备运行的速度更快,占用内存也更少。此外,Linux内核层还增加了新的电源管理策略、低内存管理策略以及内存共享处理方式等,这些都极大的提高了安卓系统的运行效率。

1.2 应用框架层

应用框架层是安卓系统程序开发的基础,它为程序开发提供各种API。应用框架层由许多部分组成,主要的有活动管理器、窗口管理器、视图系统、电话管理器、资源管理器以及通知管理器等。活动管理器是对所有的应用程序进行管理并提供回退功能;窗口管理器是对所有的窗口进行管理;视图系统是构建程序的主要组件,包括文本框、按钮以及列表等;电话管理器就是对所有的移动设备进行管理;资源管理器是给程序开发提供各种现有的资源,比如布局文件、图片以及字符串等;通知管理器就是实现在状态栏中显示短信提示以及未接来电提示等信息通知功能。应用框架层对于程序开发人员的进入门槛极低,程序开发人员可以充分应用框架层的现有资源,这极大的方便了安卓系统应用程序的开发。

1.3 安卓运行时

安卓系统虽然采用的是Java 语言来编写应用程序,但是在执行程序时采用的是安卓系统自带的安卓运行时。安卓运行时主要包括核心库和Dalvik虚拟机两个组成部分。核心库中,一部分为安卓系统的核心库,另一部分则是程序语言需要调用的功能函数。Dalvik虚拟机能够在一台设备上借助较少的资源来运行多个虚拟机程序,它是专门为移动设备设计的。安卓运行时为手机的应用程序提供了广泛的开源代码,它不需要在系统软件中进行另外安装,也不需要额外的管理配置。安卓运行时提高了安卓系统的运行速度,扩宽了服务范围。

1.4 应用程序层

安卓系统也为使用者提供了一些常用的应用程序,比如短信、地图、日历、联系人以及电子邮件等。这些应用程序都是采用Java程序语言进行编写的,程序开发人员不仅可以参考这些应用程序,还可以自己编写程序来代替这些默认的应用程序,这使安卓系统的应用程序平台更加的平等和开放。

2 安卓系统应用程序的开发

在安卓系统应用程序的开发中,最重要的就是安卓系统应用程序的组成部分。一个安卓应用程序的组成部分很多,主要的组件包括Activitv、Service、BroadcastReceiver 、ContentProvider以及Intent。

Activity是安卓应用程序的基本组件,应用程序中的屏幕显示都需要通过Activity来实现。Activity属于应用程序的表示层,应用程序中图形用户界面的实现都是通过Activity来控制的。Service是能够长时间在后台运行的程序,它是没有用户界面的。比如在用户在浏览网页的同时,也能够播放音乐,此时的音乐后台播放就是借助Service机制来实现的。

BroadcastReeeiver组件是实现用户接受广播通知功能的。安卓系统中,系统或者应用程序都能够借助BroadcastReeeiver组件来把相关信息通知给使用者。比如短信息、电量不足以及程序更新等情况都有可能导致系统广播。ContentProvider属于内容提供器,它是将应用程序的相关数据提供给其它应用程序使用。ContentProvider能够通过一组标准的接口来实现程序之间的数据读写和存储。Intent主要起连接作用,属于运行时绑定机制。它能够在程序运行时将两个不同的组件进行连接,从而实现不同的功能。

3 结语

安卓系统在手机等移动端设备中占有重要地位,本文探讨和分析了安卓系统的架构和程序开发中的重要组件。从此角度分析了安卓系统具有开放性、兼容性以及程序开发便捷性等特点。在程序开发中,本文介绍了程序开发中的重要组件,对于如何高效的进行程序开发探索,还需进一步的研究。

参考文献

[1]李林涛,石庆民.Android智能手机操作系统的研究[J].科技信息,2011(25).

第5篇

他们最早的设想是用安卓“建立一个由连至PC的智能相机所组成的世界”,但由于智能手机市场开始迅猛发展,于是这款操作系统面向手机做了改动。“我们当初为相机开发的同一个平台、同一个操作系统,后来成为了手机版安卓系统。”安卓创始人之一Andy Rubin近日在东京经济峰会上表示。

2005年,谷歌收购安卓后,Rubin成为了这个搜索巨头中的一名高管。他向投资者展示的2004年4月的商业计划的幻灯片中,其中一张显示着“相机以无线或有线方式连接至家用电脑,进而连接至安卓数据中心”的内容。然而当手机拍照技术成为主流后,数码相机市场的增长速度便开始趋缓。于是,5个月后,Rubin的公司调整了商业计划:安卓成为一款“开源手机解决方案”的操作系统。

随后,安卓公司招募了之前供职于T-Mobile和Orange的团队成员,并把目光瞄向移动版Windows等竞争对手。而苹果在2007年时才进入这个市场。Rubin说:“我当时担心的是微软和Symbian,iPhone还不在考虑的范围之内。”

Rubin表示,当时恰逢大好机遇。硬件成本因商品化而急剧下降,而软件开发商对操作系统收取一样的费用,因而在硬件制造商的预算中占据更大的份额。由于安卓公司认为其系统是销售其他服务和产品的一个平台,因而认定它的目标为寻求增长,而不是寻求每台设备的收入。

安卓公司最初的大胆预测是,到2010年争取在北美和欧洲夺得9%的市场份额;但在2012年,安卓的市场份额已高达72%。谷歌在今年3月份表示,全球投入使用的安卓设备数量已超过7.5亿部。结果表明,手机在市场上的表现胜过相机。

Rubin说:“我们希望尽可能多的手机使用安卓系统。因此安卓不会向用户收取‘99美元、69美元或59美元’之类不同级别的费用,而是完全免费提供,因为我们知道这个行业对价格十分敏感。”

而日前,三星推出了一款运行安卓系统的Galaxy相机,尼康和宝丽来等厂商也推出了类似产品。于是,安卓操作系统又回归到“原点”——相机操作系统。而这款操作系统还应用于平板电脑、电视机、咖啡机和冰箱在内的多种设备上。

3月14日,谷歌宣布Rubin将辞去安卓业务主管一职,目的是为了让Rubin在这家公司“另写新篇章”。

Rubin表示,他会继续开发面向最终用户的产品。“我可以向大家保证,无论我接下来做什么工作,目标都是开发出让消费者高兴的产品。”

第6篇

红米手机升级安卓系统版本的方法:

1、打开红米手机,点击“设置”;

2、在“设置”界面中,点击“关于手机”;

3、在“关于手机”界面中,找到并点击“系统更新”;

4、在“系统更新”界面,点击“检查更新”;

5、手机将自动检查是否有可更新的安卓系统版本;

6、若检测出可更新的安卓系统版本,点击该版本;

7、在“版本信息”界面,点击“立即更新”,等待手机自动更新;

8、在手机更新完成后,重启手机,即可完成红米手机升级安卓系统版本的操作。

(来源:文章屋网 )

第7篇

手机的操作系统不止安卓系统与苹果系统,市场上智能手机的系统还有:

1、微软使用的windows phone操作系统。

2、诺基亚使用的Symbian操作系统。

3、黑莓使用的BlackBerry OS操作系统。

还有一部分手机系统,如塞班等,由于安卓等更好的系统的出现而被淘汰,所以目前市场上的手机系统是多种多样的。

(来源:文章屋网 )

第8篇

安卓系统需要联网后自己点击升级方可升级:

1、待机情况下打开应用程序;

2、点击设置打开;

3、点击“关于设备”打开;

4、选择系统更新,点击“更新”。

然后系统就会自动下载安装包后自动更新,更新好了系统会自动重启。自此手机就升级完成了。

(来源:文章屋网 )

第9篇

安卓系统连接无线网可以安装以下步骤操作:

1、打开手机设置,找到WLAN点进去。

2、开启WLAN,然后会自动搜索你附近位置的WALN。

3、找到你的WLAN,点进去后需要输入wifi密码进行验证。

4、在连接的WLAN下看到你的WALN就说明已经连接成功。

(来源:文章屋网 )

第10篇

【关键词】 风电场 备件管理 安卓应用系统

引言

为确保风电场正常运行发电,要求现场拥有一定的备品备件,以便风机出现故障时及时进行更换,确保现场一定的有效发电时间,提高电场经济效益。近年来,移动互联网发展迅速,为了实现现场,采用安卓智能手机、平板等设备对备品备件进行管理,特提出本项目建设。

一、系统主要目标和意义

本系统的主要目标是实现风电场备件的基础信息维护、出入库、盘点的信息快速录入,提高现场备件科学管理水平。通过制作标签,对需要管理的备件,只需通过智能手机靠近该标签即可浏览该备件的名称、规格、用途、照片、注意事项、出入库情况等。

本系统对备件有效的管理对于快速的现场维护,提高风机发电可利用率,提高维护效率有很大意义。目前很多现场多使用一些通用的物资管理软件进行管理,采用人工电脑录入的方式进行管理。这样的系统一般具有以下缺点:容易出现失误操作、查找较慢、管理人员要求较高、操作较复杂等。

二、系统主要功能构成

本系统为提升现场对备品备件的管理,结合条码技术等,基于智能手机常用的安卓平台,设计开发了一套基于安卓应用的风电场备品备件管理信息系统,它主要由无线AP、手持安卓设备、电子标签、安卓应用程序、服务端系统等构成。

本系统软件由系统Web应用服务端、扫描枪客户端、webservice接口等构成。功能有入库、出库、盘点、物资备件管理、统计分析、基础数据管理、系统管理等功能。系统支持一维条码、二维条码扫描枪操作,支持智能安卓平板、手机客户端应用,采用MVC框架。其性能稳定、功能强大、应用范围广。

系统中涉及入库单、出库单、盘点单等几种单据。这几种单据在系统中存在新增、保存、出库、入库、盘点等多种状态。

本系统主要功能有:

1)备件信息维护。主要负责备件名称、规格、数量、生产日期等信息的录入和管理。

2)入库。负责入库单的生成,入库备件的选择录入等,可通过扫描枪进行操作。

3)出库。负责出库单的生成,出库备件的选择录入等,可通过扫描枪进行操作。

4)盘点。对库房内的物品备件信息进行逐一核对盘点,最后得出盘盈盘亏结论,并据此结论进行库房信息的重新维护管理。

5)统计。对库房中的备件的数量、类别、出入库数量、时间分布、类别分布等信息进行综合统计。

6)系统基础数据维护。为了确保系统的正常运行,需要进行系统数据的管理和维护,如系统账号管理,角色管理,权限管理等。

本系统具有以下优点:

1)可扩展性强。本系统可以扩展到风电场现场的运营维护管理信息化建设上,可以对现场机组故障处理、维护任务分配和接收、风机设备管理等工作进行技术支持。经过简单修改,更可以实现对企业一般化的物资物品管理。

2)部署安装方便。本系统可直接部署在工作人员的智能手机上,服务端可直接部署在系统使用者单位。整个部署工作十分快捷方便,费用低廉,也丝毫不影响现场发电工作。

三、系统设计及实现

系统采用B/S的开发方式,MVC三层体系结构设计,WEB页面基于Div+Css+Ajax技术,采用Jquery脚本库 ,有良好的用户体验。后台代码遵循编码规范标准,坚持可复用性、可理解性、稳定性、易维护性、可扩展性的统一。

第11篇

【关键词】安卓系统;WiFi;红外遥控

一、引言

由于红外遥控器价格低廉、技术成熟等优点,许多智能家电设备仍普遍采用红外遥控器进行控制,包括电视、空调、DVD机、电视机顶盒等等。然而,随着家庭中智能家电设备的增多,红外遥控器数量也在增加,一个家庭使用的遥控器数量少则数个,多则十几个,这会带来三大问题:

(1)数量众多的遥控器给使用者带来使用和管理上的不便;

(2)红外遥控器使用的一次性碱性电池,废弃后给环境带来极大的危害;

(3)遥控器意外损坏后,很难找到匹配的遥控器。

基于安卓手机WiFi的家用智能遥控器,可同时控制多个不同品牌不同型号的家用电器,取代传统的实物遥控器,实现“一个家庭只需一个遥控器即可控制所有红外遥控的家电设备”的目标,极大减少遥控器数量和一次性电池的使用量,为人们创造便捷舒适、环保节能的居家环境。

二、系统的结构

整个系统主要包括客户端软件、WiFi转红外模块,如图1所示。客户端软件通过WiFi,将已编码的数据通过WiFi传送至WiFi转红外模块,然后WiFi转红外模块根据编码规则,传递指令至内部红外发射模块,实现红外数据的发送。

(一)家用智能遥控器客户端的构成

1.键码数据包的采集与设计

(1)键码数据包的采集

红外遥控器的编码格式通常有NEC。

NEC格式的特征:使用38kHz载波频率,引导码间隔是9ms+4.5ms,使用16位客户代码,使用8位数据代码和8位取反的数据代码。

随着家庭电器种类、型号的不断增多,相对应的遥控器也随之增加,为了便于管理、存取与更新家电遥控器的红外代码,需要为繁多冗杂的代码建立一个数据包。

(2)遥控器按键数据包的设计

由于红外协议各不相同,并且又相互不兼容,所以直接发送红外数据会导致WiFI转红外模块处理十分繁琐。因此,收集多种红外协议数据,按照自定义编码规则,将多种协议编码化,并保存于后台数据库。

为了实现按键界面与遥控器数据包的匹配,定义数据包格式如下:

文件起始标志位4位。

键码属性128位:设备的信息,访问中文字库编码、ASCII码。

载波频率4位:35-42kHz;分辨率0.5kHz,以适应不同载波的遥控器。

键码编码:对遥控器界面软件的所有按键进行编码,键码位数根据实际红外协议确定。

2.遥控器界面软件的设计

(1)数据库设计

安卓操作系统采用标准SQLite数据库,提供管理数据库相关的API。利用SQLiteOpen Helper类中的onCreate()Call Back方法以及onUpdate()Call Back方法创建与打开各种遥控器红外代码表Table,存进数据库中,方便数据的及时更新。

(2)按键与数据包匹配

在手机界面中,每个按键都与其相对应的红外代码相匹配,即按键功能与数据库中各种遥控器数据相连接。通过调用getReadable Database()方法当用户按下按键时,软件会查找数据包,将与该按键相连的数据包数据,即相对应的控制家电的红外代码以WiFi的形式发送至WiFi转红外模块。

(二)WiFi转红外模块

本模块负责数据接收、红外发射。包含WiFi数据接收与传送、串口数据解析、红外电平发射。采用WiFi芯片USR-WIFI232,提供WiFi信号及获得客户端所发送数据,再将数据通过串口传送至中控CPU。

本模块内部采用单片机作为中控CPU,处理编码化数据与红外协议的转化。由于单片机价格低廉,资源足够,功能满足中控CPU的需求,因此,采用单片机作为中控CPU。在单片机程序中设置多个红外协议入口点,当编码化的数据传送至单片机后,按照自定义的编码规则,寻找对应的红外协议入口,从而发射对应的红外电平。

中控CPU功能硬件电路由单片机最小系统及红外发射电路成。在中控CPU程序中,包含定时器功能、串口数据读取功能、红外电平控制功能。中控CPU的程序流程图如图3。定时器功能主要是用于产生载波,并与红外信号叠加,从而提高红外信号在空气中传播的抗干扰能力。串口数据读取,将WiFi芯片传递的数据加以分析,按照自定义的编码规则,进入不同的红外协议功能函数。红外电平控制功能,实现具体的红外协议函数,通过串

口读取功能提供的数据,发射出匹配的红外信号。

三、实验测试

本次试验采用专用的红外测试仪器,可以监测到红外信号并将其波形显示出来。采用安装客户端的安卓手机及WiFi转红外模块,对比于实物遥控器。将实物遥控器、WiFi转红外模块都对准红外测试仪器。按下实物遥控器的某个按键之后,观察红外测试仪器显示的波形,如图3所示;接着按下安卓手机上对应的遥控器按键后,观察红外测试仪器上的波形,如图4所示。

由图3、图4可以看得出,安装客户端的安卓手机及WiFi转红外模块可以实现实物遥控器的功能。

四、结束语

本项目设计的运行在安卓手机上的新型遥控器,实测数据证明,其实现的功能与原配的实物遥控器性能一致,完全可以取代现有的各种实物遥控器,实现实物遥控设备数据化,降低成本。由于它基于安卓手机平台,具有成本低、扩展好、“一机多控”、环保、智能等优点,作品成熟后,具有较高的市场应有价值。

参考文献

第12篇

关键词: 井控数据; 数据记录; 数据资产; 安全事故; 起因溯源

中图分类号: TN919⁃34; TP309文献标识码: A 文章编号: 1004⁃373X(2014)08⁃0082⁃04

Design and implementation of well control information processing system based on Android

GAO Xiang, GUO Xin⁃dong, ZHANG Feng⁃lan, GUAN Wei

(Northwest Polytechnical University, Xi’an 710129, China)

Abstract: The design and implementation of the well control information processing system which runs on tablet personal computer and is based on Android OS are introduced in this paper. Multiple intelligent modules are adopted, which can execute all the tasks, including data collection, coefficient setting, data calculation, data storage, data dump, intelligent alarm, abnormal analysis and data retrieval in the total working process of drilling crew. With the system, the efficiency of workers in a drilling crew is improved significantly, and the response time of abnormal phenomenon discovery and alarm is reduced greatly.

Keywords: well control data; data logging; data asset; security incident; cause traceability

0引言

近年来,中石油的信息化建设成果斐然,建成了很多应用系统,明显改善了工作效率,提高了经济效益。然而,在基层钻井队的井控数据采集和记录方面,由于作业环境、人员素质和技术水平的限制等问题,一线员工工作方式的信息化程度还明显落后。传统的纸笔记录方式时常会跟不上作业流程的节奏,而且人工的笔录也会由于字迹潦草或环境条件恶劣导致的污损等原因对数据准确率造成影响,从而造成坐岗记录的井控数据的可信性不高,加重了后期数据清洗的负担,出现安全隐患问题时,发现预警的时间较长。

针对这一系列的问题,作者设计并开发了基于安卓系统的手持式井控信息处理系统,为提升基层井队的信息化水平提供了有力的支持。该系统的开发,将传统的纸质工况记录表移植到了手持平板电脑上,将作业数据的计算公式设计成算法内置于系统中,减少了员工的计算工作量和出错率,同时提高了计算数据的准确率,使员工可以跳过计算逻辑而专注于数据的读取。内置的报警系统可以即时根据录入的数据进行分析,判断工况的正确与否或环境的安全与否而给出文字和声音的提示,从而防患于未然。

1模块设计

井控信息处理系统主要包括6大模块,如图1所示,在结构上使用经典MVC架构进行设计开发。

图1 系统结构

数据记录模块负责采集数据,该处数据一部分由工人通过专用仪器从外界环境测得,或通过设备仪表读出;另一部分由井控信息处理系统内置,包括作业环境的选择和计算系数等。采集到的数据在满足一定条件下被事件触发执行相关操作,如根据系统内置的公式参与其数值的计算,并将计算结果填入相应的数据项,由计算得出的数值会被报警模块实时检测,若超过系统设定的阈值则会发出刺耳的报警声,并通过闪烁文字提示相应的异常数据和可能的原因,若数据无异常则在一次记录周期结束前将数据持久化到数据库中。随着工作时间的推移,数据库中的记录会达到数十万到数百万条,数据查询模块负责根据检索条件高效的进行检索并呈现至设备。数据备份模块负责数据的转储,可以将数据通过网络以数据库文件或Excel等文件格式转储至其他地方。系统参数配置模块以灵活的组件形式对外提供操作接口,将系统中所需的各项复杂参数简化至所见即所得。系统安全模块则解决系统的使用授权模式。本系统的数据流图如图2所示。

图2 系统数据流程图

2关键技术点

2.1数据记录模块设计

2.1.1问题描述

井队在实际记录数据的过程中,根据其工况的不同,需要录入的数据项也不同,但总数都在20项左右,而系统定制的设备只有10寸。加之工况的记录周期在15分以内,对工人的操作熟练度提出了要求。

2.1.2解决方法

针对上述问题,单一的使用文本框作为数据录入接口难以完成任务,而采用大量的智能化组件(Component)与事先内置了井队数据的适配器(Adapter)结合,可以减少工人的工作量,从而减少人机交互次数,提高效率[1]。如下:

井队需要处理的工况通常是固定的,系统在设计时将工况类型硬编码(Hard Code)入一个适配器中,然后将适配器挂载于一个活动组件上,通过点击事件触发,弹出列有具体工况的下拉列表(Spinner),由工人进行选择[2]。

2.2界面布局方案的设计

2.2.1问题描述

整个系统按功能可以设计为3个模块,分别为数据录入、数据查询/导出、系统配置。职责的不同导致3个功能块的界面也完全不同,与传统桌面程序不同的是手持设备显示屏幕较小,设计自由度较低,单纯的使用线性布局(Linear Layout)、关系布局(Relative Layout)、箱式布局(Box Layout)、边界布局(Border Layout)或它们的结合都会显的力不从心[3]。

2.2.2解决方法

(1) 整体架构。由于问题的核心是显示空间的不足与显示内容的过量之间的矛盾,采用二层显示结构可以解决该问题。使用层次结构可以使功能和结构层次分明,操作方便,显示直观。符合功能高内聚,结构低耦合的标准[4];

一层结构:即系统的外层组织,使用卡式结构(Card Group)来组织各大主功能模块,将每个主功能模块压缩为一张卡,而每张卡链接一个功能模块,存放所有的卡只需要一个卡箱,而卡箱占据屏幕显示空间的大小不足1/15,触发某个卡后可以从箱中将卡弹出,再填满显示空间,这样可以节省出更多的显示空间给更重要的内容。

二层结构:由于井队的工况种类不一,而每种工况下又可分为更细的工况。 在第二层结构上,采用了弹出式菜单(Pop Menu)和帧布局(FrameLayout)[5],通过点击工况触发切换事件,由后台进程调用事件相对应的帧(Frame),即工况显示界面,这样可以使所有的工况共用剩余的显示空间。

(2) 表格结构。由于传统的井控数据记录纸质表已使用多年,所以工人大都习惯了传统的表格记录格式,加之现行的安卓组件大多为文本框,按钮等,只能满足常用的事件调用,单纯的设计成传统的翻页式记录程序,经试用,工人使用极其不习惯。

针对上述情况,我们设计并制作出了动态表格(Dynamic Table)技术,这种技术的动态主要体现在2个方面:

① 表格数据的动态读取,表格中显示的数据即是之前填入的所有历史数据,但并不是由录入界面直接送入表格,这是因为随着记录时间的推移,记录的数据会有成千上万条甚至更多,手持设备的内在和处理能力根本无法响应如此大量的数据读取。为此,系统采用了双缓存技术(Double Buffer)[6],即数据库与显示适配器之间加缓存,适配器与显示进程之间加缓存,如图3所示。

图3 缓存结构

② 表格空间的动态显隐,为了使传统作业的工人能够在尽快适应新的设备,减少后期业务培训的成本,系统使用了划动事件感知技术,将工人使用的传统纸质表格平缓的转化成智能填写的电子表格,这种表格具有双向自动显隐的功能,横向(Horizontal)包含了工况对应的所有数据项,纵向(Vertical)可以依靠二级数据缓存显示所有的历史数据记录[7]。当组件感知到划动事件后会判断划动的方向,如果是横向划动,则根据划动方向动态的重绘表格,根据划动的力度大小,决定隐藏掉的部分与显示出的部分的大小。如果是纵向划动,则由后台数据进程首先根据断点将对应位置的数据记录从数据库中读取至内在,然后再将数据记录装配到显示适配器中进行显示。

2.3模块间数据传输

2.3.1问题描述

如①中描述,各主功能模块之间的结构较为分散,即分装在不同的卡中,每个功能模块对应不同的线程,而数据录入模块需要用到系数配置模块的数据,传统的依靠变量传输在此失效。

2.3.2解决方法

因为系统平台是安卓系统,而安卓系统的底层是使用Linux的内核,所以使用Linux中的管道技术(Pipe)[8]。

不过,从管道读数据是一次性操作,数据一旦被读,它就从管道中被抛弃,释放空间以便写更多的数据。所以,在数据从管道输入至数据录入模块时会先被暂存到一个XML文件里,由于XML文件可以作长期存储用,所以在下次需要读数据的时候进程会先从XML里查找,若查找到,则数据命中,否则的话再通过管道进行读取,这种技术可以减少使用管道的次数,提高数据的命中率,进而提高系统的处理速度。

2.4数据存储

2.4.1问题描述

使用文本存储数据的特点是写入数据简单,但读取时难度较大,尤其是数据量较大或数据项较复杂的时候更是难以操作,且不利于保存和转储。在进行数据检索的时候更是无从下手,效率低下且错码率高。

2.4.2解决方法

使用嵌入式系统型数据库SQLite来存放数据,可以解决数据存储的问题。SQLite 是用 C 语言编写的开源嵌入式数据库引擎,它是完全独立的,不具有外部依赖性。SQLite 支持多数 SQL92 标准,可以在所有主要的操作系统上运行,并且支持大多数计算机语言。SQLite 还非常健壮。它还是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,具有资源占用少、性能良好、支持事务性等特点[9]。由于其开发语言的兼容性使它可以与安卓系统良好的结合在一起,并对上层安卓应用层提供高性能的接口。

2.5数据检索

2.5.1问题描述

关系型数据库的表结构可以完美的对应于实际中的实体表。但数以几十万计的记录要在给定的检索条件下在毫秒甚至微秒级的时间内检索出结果来需要设备有很强的计算能力和高速的缓存,但手持设备通常不具备这样高性能的条件。如何开发一种高效的检索算法成了解决问题的关键。

2.5.2解决方法

由于嵌入式数据库对数据字段的支持有限,合理的设计字段的数据类型是提高检索效率的基础,当在表中添加字段的时候,应该选择长度最小的数据类型,这样表在内存中每页可以存储更多的记录。

其次是在数据量较大的工况表上建立索引(Index),SQLite允许对数据库表进行索引,以此能迅速查询记录,而无需查询整个表,由此显著的加快查询速度[10]。系统在首次运行的时候就会执行相关的建库语句,可以确保在存入数据的时候表中已建立好相应的索引项。

最后可以通过调整数据库的缓冲区进行优化,通常,变量控制缓冲区的长度应该在处理索引表的时候使用,因此可以采用不断增加的方法以确保索引具有最佳的性能,根据相关研究测试,我们采用系统内存25%的大小作为该变量的值,以此来达到最佳的性能。

3安全性设计

软件系统为了防止被非法盗用,甚至被反编译篡改,系统通常需要采用一定的加密技术处理。如果加密系统只是一种单纯的依赖密钥的系统,那对用户发放使用权的时候就是发放密钥,这种系统保密性较低,一旦密码泄漏则软件的保密性也不复存在。

采用证书授权可以在很大程度上保证软件的安全性,但证书的生成通常需要网络和用户身份等基础设施或基本信息才能满足。根据设备的实际使用环境,我们以如下特殊方式解决:

身份信息(Identity):通过设计一个独立的软件,提取设备的基本信息,包括设备网络地址、系统号和基址序列号(SSN)作为指纹信息,然后将采集到的指纹信息汇聚至工作机,即证书中心(CA),通过组合算法,将收到的三种信息生成惟一的一种信息,即三码合一。然后将生成的三码合一文件作为授权证书,发送给用户。

4结语

本文分析了中石油基层钻井工的作业环境,对其中繁琐的流程进行了深入研究,设计并开发了井控信息处理系统。该系统使用基于安卓操作系统的定制手持设备,将众多的纸质记录表格和复杂的公式、系数移植到了智能设备上,极大地简化了操作过程,节省了大量的人力和时间。数据库系统的使用则解决了传统记录中数据检索难、易丢失和保存难的缺陷。

受限于野外作业环境的恶劣对网络的影响,本系统尚未解决利用网络远程传输的问题,利用网络实现远程传输和监控是本系统有待提高的方向。

参考文献

[1] 索盖林.android开发入门指南[M].2版.北京:人民邮电出版社,2009.

[2] 余志龙.Android SDK开发范例大全[M].北京:人民邮电出版社,2010.

[3] 韩超,梁泉.Android系统原理及开发要点详解[M].北京:电子工业出版社,2010.

[4] 李观华,范辉.J2ME在移动通信程序中的应用[J].计算机应用,2003(3):124⁃126.

[5] 廖永刚,余冬梅,张秋余.J2ME架构与安全机制的研究[J].计算机工程与设计,2006(4): 575⁃577.

[6] 王勤.计算机控制技术[M].北京:机械工业出版社,2003.

[7] MEIER Reto.Android高级编程[M].王超,译.2版.北京:清华大学出版社,2010.

[8] 刘扶松.Android开发从入门到精通[M].北京:希望电子出版社2012.

相关文章