米尔阿迪力江·麦麦提,吾守尔·斯拉木,2†,热依曼·吐尔逊,迪丽尼格尔·热夏提
(1.新疆大学信息科学与工程学院,新疆乌鲁木齐830046;2.新疆大学新疆多语种信息技术重点实验室,新疆乌鲁木齐830046)
随着移动通信技术的飞速发展及手机应用功能的不断增加,应用层日益成为手机软件体系中最庞杂的一层.我国是一个多民族的国家,新疆是个多民族地区之一,手机的日益普及使手机与人的关系越来越密切,新疆有900多万人使用维吾尔语进行交流和沟通[1].在现今3G信息化时代中,Windows Mobile平台的维吾尔文产品管理系统将具有更多的应用价值,然而该系统一直以来都是市场上的空缺.因此,在通讯技术迅速发展的今天,研发嵌入式管理平台对少数民族用户来说是非常必要的.本系统根据维吾尔文的特征和手机显示屏幕的物理特征设计了维吾尔文的手机软键盘布局,改进了以往的数字键盘手机上处理维、汉、英多文输入时用维文键盘映射及键盘事件识别的不足[2],在.Net Compact Framework中的控件上实现了混合显示的维吾尔文手机输入法及平台的通讯功能,同时给出了实现其软件关键模块功能的程序流程图.本系统对用户而言实用性强、操作简单、易用.
Windows Mobile是微软公司开发的一个开放的手持设备操作系统,具备非常好的平台扩展性,而且用于Pocket PC和Smartphone的软件平台[3]..NET Compact Framework是.NET Framework的子集,这是一个专门为在资源受限的移动设备上运行一些应用程序而设计的框架.鉴于Visual Studio 2008本身就集成了Windows Mobile开发环境[4],因此,本设计选用Visual Studio2008作为开发工具.安装软件包的顺序为:1.Microsoft ActiveSync 4.5;2.Microsoft Visual Studio 2008;3.Windows Mobile 6 Professional SDK Refresh.msi;4.Windows Mobile 6 Professional Images(CHS).msi.由于软件包安装的先后顺序,可能会影响到后续软件是否能成功安装或使用,因此必须按以上顺序进行安装.
本系统的设计首先通过对用户的需求进行一系列地调查与分析,最终明确了本系统的使用对象及其功能.即该软件的主要任务是在方便、有效的原则上,在商品流通领域提供最方便的产品管理平台.本系统的功能划分如图1所示.
从图1可知,基于Windows Mobile的维吾尔文嵌入式产品管理系统由如下七个主模块:初始化配置模块、输入及显示处理模块、主界面设计模块、产品管理模块、类管理模块、产品统计模块和提供商信息管理模块等.在初始化配置模块中当软件启动时自动检测数据库状况,既系统自动检查数据库、创建数据库、创建数据表、设置初次密码等分过程.
图1 系统总体结构功能图
图2 输入处理模块流程图
移动设备不支持从右向左的文字输入和系统输入法,为维吾尔文输入及处理带来一定的难度.维文字母与汉英文的不同,其特点主要表现在:1)书写方向相反.汉字和西文的书写方向是从左到右,而维文的字符从右到左;2)维吾尔文字母根据在单词中的位置不同会有四种变形;3)每个界面按钮和文本变迁都是维吾尔文,命令都是普遍的维吾尔的标准词汇.此模块中主要是用自动选型处理和字母序列转换函数来处理维吾尔文的正常显示和处理(如图2所示).图2中设i为当前需要选形的字母,i-1是当前字母前面的字符,i+1是当前字母后面的字符,设定i-1、i、i+1字符值为0(特殊字母或非维文字母)或1(普通字母),当i-1、i、i+1字符值为不同的值时,i字符选形也不同.该模块为用户提供方便的切换使用,在设计主界面时,需要将各个子模块都列出来.产品管理主要是为操作员的需求而设计的,它能够给用户显示列出库中产品,提供对产品的管理操作.类管理是对产品进行类名不可重复的分类,利于产品查找和列出.
SQL Server Mobile是微软提供的运行于移动设备上的关系型数据库平台,是一个功能强大的工具、支持结构化查询语言,因此被采用于本软件中.Windows Mobile平台实现数据交互的方法有[5]:Web Server技术、XML技术、SQL Server Mobile技术.前者适用于处理特大量数据,但需要保持连续的网络连接,后者用于处理少量数据,但存储效率低.其处理大规模数据是比SQL数据库慢,因此XML不作为本系统选择;SQL Server Mobile是技术各项指标比较均衡,适用于处理中量和大量数据,SQL Server Mobile与SQL Server 2005的Management Studio特性相集成.本软件数据库逻辑结构设计时,创建了系统相关的登陆表、产品类表、提供商表和产品表等数据表.
本系统是一个基于移动智能设备的管理信息系统,在进行系统设计时,根据管理信息系统的特点,充分结合无线计算环境的特殊性,遵循模块化的设计思想,利用面向对象设计方法,设计出实用性强、可操作性强、可靠性高和扩展性强等为一体的功能模块.
3.1.1 主界面及登录模块实现
用户使用预装Windows Mobile系统的移动设备,在初次使用系统时,输入用户名和密码进行用户身份验证(如图3所示),确认用户身份合法后,进入系统主界面,否则,将提示用户名密码输入错误.系统会自动的记录上次登录的用户名,用户仅需要输入密码就可直接进入系统.在主界面中,选择进入某管理模块.主窗口的作用是拥有所有功能快捷按钮的主界面,启动前配置数据库和验证用户的登录信息.用户可以选择系统提供的功能进行操作.如图4所示.
图3 用户登录
图4 系统主界面
图5 产品管理
3.1.2 实现产品管理模块
产品管理页面能够管理新产品的添加、过期或者是停产产品的删除以及修改产品相关信息等.产品管理是此系统的核心突破点之一,在用户通过产品管理窗口从产品库中查询自己所需的产品信息的同时,可以修改产品的各个参数.产品管理界面通过list view空间制作.在NET Framework中[6],针对软件国际化,NET框架中Control类提供了界面控件的RightToLeft属性[7].当将该属性设置为RightToLeft Yes时,包括文字的控件元素从右向左显示.窗口上需要添一个Label标签,一个List View和一个Combo box控件.通过插入Context Menu来实现产品的管理操作[8].如图5所示.
3.1.3 实现通讯和统计模块
统计模块可以统计出用户所输入的与产品有关的所有信息,信息包括总产品数量、总金额、总数、总类数和总提供商数.此模块为用户控制市场营销、计划产品促销策略、确定产品零售价批发价和策划产品的进货数量等主要工作提供了方便简捷的操作,而且用户通过此模块能够预算本店、本企业、本公司内的产品总况及有利于所有者对无法预测的问题进行快速有效的解决.将以上的数据按日、周和月详细统计出来.统计信息可以通过短信方式发送至指定的手机,同时可以选择传送的文本类型.目前有两个文本类型:一是UKY,另一个是UNICODE.UKY是维吾尔文计算机文字的意思,通过国家标准拉丁字母表示维吾尔文字.UNICODE是基于阿拉伯文字的维吾尔文标准文字如表1所示.
表1 维文软键盘国家标准Unicode编码对应表
实现发送短信等通讯功能时(如图6所示),想让Windows Mobile设备通过Socket连接,直接与服务器进行通讯是非常困难的,有的连接方式甚至不能够保证它们的信号稳定,经常使设备处于一个不受信的网络环境中.由于Web Service通过标准的HTTP协议来传输数据,可以很方便地跨越Intranet或者Internet网段.同时,Web Service通常设计为面向服务的接口[9],只需要向其发送命令来完成某一项服务的请求,服务器之间并不需要一个持久的连接.
图6 产品统计及发送短信
维吾尔文的顺序是从右向左的,并且存在元音弱化的粘着性的复杂语言文字.Windows Mobile操作系统的核心并不支持,而且不像Android有些控件一样具备setTypeface()属性,因此我们对文字的基本字母进行自动选型,来完成显示和维汉英多语种混合输入及处理的过程.维吾尔文字有前连后连,前不连后不连,前不连后连和前连后不连等四种显示形式.在这四种情况下,字母的形状是不一样的,详细地说维吾尔文字母根据在单词中的位置不同会有四种变形,即首写、中写、尾写形和独立形.在文字输入时要根据字母在文字中的位置来确定使用何种形式.因此,首先需要对字母进行前后判断这些描述了字母个字母的话,文字反序会显示为以下结果.顺序:ABCDE(N个字母)、FGHIJ(N个字母)、KLMNO(N个字母)及PQRST(N个字母);反序:PQRST(N个字母)、KLMNO(N个字母)、FGHIJ(N个字母)和ABCDE(N个字母);主要实现代码如下;for(int i=0;i {string aldi,kayni;string curr=oldStr[i].ToString();int-index=astr.IndexOf(curr); if(-index==-1){-tmp+=curr;continue;} if(i>0)aldi=oldStr[i-1].ToString(); else aldi= ” ”;if(i!=(oldStr.Length-1))kayni=oldStr[i+1].ToString(); elsekayni= ” ”;bool-link=link-a.IndexOf(aldi)>-1?true:false; bool link-=link-b.IndexOf(kayni)>-1?true:false; if(-link&&link-)//前连后连- tmp+=kstr-otu[-index].ToString(); else if(!-link&&!link-)//前不连后不连 -tmp+=kstr-yal[-index]; else if(-link&&!link-)//前连后不连 -tmp+=kstr-ahi[-index];Else//前不连后连 -tmp+=kstr-bax[-index];} 此软件运行时的软件要求为:Windows Mobile6.0或更高版本和Microsoft的.NET框架的2.0版本或更高版本.该软件所需要的硬件环境为最低CPU速率2010MHz,32M RAM或以上,内存至少32M,存储空间至少32M,数据总线16位或以上即可. 测试之前需要嵌入到真机,由于该系统在PC机上的Visual Studio开发,因此我们要把编译好的程序转移到我们的真机里面.首先准备好字体和SQLCE.如果真机上没有SQLCE,就在PC上安装Microsoft SQL Server Compact,然后导出里面的嵌入式数据库服务器.得到完整的数据库服务器以后再安装ActiveSync(Microsoft的同步工具).安装好了ActiveSync以后,浏览设备的存储器并把编译好的文件放入到适当的位置.本人将Uyghur Ekran字体文件放入WindowsFonts下,且将PMsystem.exe放入Program FilesPMsys tem目录下,数据库服务器存放Storage Card根目录.复制完成之后,启动设备安装数据服务器,然后启动PMsystem,整个嵌入工作就此完成. 分别用HTC S1+精英版手机、惠普的iPAQ K3、HTC T9188、K-Touch W366和Dopod F3188进行测试,得到实际测试结果.手机默认情况下没有SQL数据库的CE版,需要手动安装.同时,手动安装屏幕字体,具备运行环境条件之后再进行测试.经多次测试,系统正常地运行.在模拟器及真机上的测试中,字体显示正常、输入正确、数据库和运行速度正常. 基于嵌入式Windows Mobile平台的维吾尔文产品管理系统具有合理的数据库设计方法和程序设计方法.该系统属于嵌入式应用系统,针对其后台数据库的建立及前台应用程序的开发,管理平台用Visual Studio 2008作为前端应用程序的开发,且专门用于数据库SQL Server Mobile作为后台数据库的建立.主要是针对目前发展较快的Windows Mobile操作系统,结合维吾尔文的语言特点及少数民族产品管理者的需求,首次实现了Windows Mobile的维汉英混合输入和显示屏幕等文本处理功能.实现了产品的管理、统计及发送信息等通讯功能及Windows Mobile系统上的产品管理平台. 基于智能手机等移动设备处理效率较低、存储容量小的缘故,即便是PC机上较为成熟的各种产品管理软件也无法完全应用到手机上来.除此,平台的差异性导致的开发技术可重复性低,移动设备操作系统五花八门也是阻碍手机软件发展的一个重要原因.因此,智能终端上实现应用产品,就有一定的难度.总之,本文从为少数民族提供一个较好的产品管理软件出发,设计并实现了具有一定经济和应用价值的软件,且满足了他们简便地进行产品的管理、统计及处理的迫切需求.4 测试平台
5 结论