免费WIFI电话
您的位置:免费WIFI电话 >> 行业信息>> windows mobile的页面开发的方法设计究

windows mobile的页面开发的方法设计究

来源:网上转载-windows mobile  发布时间:2014-10-22 15:12:18

windows mobile页面开发项目背景

随着通信技术的迅速发展,通信用户数量急剧增加,长沙移动传输部门管理的线路资源和维护业务越来越多,且日趋复杂,维护工作显得愈加繁重。为提高长沙移动传输部门传输资源的管理效率,实时跟踪监控故障,提高维护管理水平,长沙移动开发了一套自动化巡检系统,以对整个传输资源和巡检业务进行完整化、集中化、信息化的管理。

 

windows mobile页面开发手机端设计

在设计前通过调研,获得设计所需的详细情况。不同于以往巡检系统,为加快信息的流动和对信息的快速反应,决定在windows mobile 平台上开发巡检系统,以代替原有的滞后和分散管理的巡检方式,并在此基础上,经过分析,建成系统模块。系统模块图如图1 所示。

 

windows mobile的页面开发的方法设计究

 

通过对项目的完整分析,采用分模块的方法,对整个项目进行模块划分,系统结构如图2 所示,这样,可以减少模块之间的耦合性,并提高升级维护的便利性。

 

windows mobile的页面开发的方法设计究

 

主界面设计程序的界面布局、设计应避免冗余信息,合理组织信息的展现顺序,保持界面布局的一致性。界面布局有列表视图、信息视图和详细视图3 种视图。这里选择用列表视图来进行界面布局,在主界面上列出最主要的功能图标,以便用户能快速的选择使用某一功能。在移动应用中九宫格是一种非常好的导航列表视图,其能够非常直观的表现功能,但windows mobile 的.net compact framework 平台并没有九宫格式控件,要满足此要求就必须安装ListView控件,但要注意的是该控件图标缩放显示会失真,而且,在显示竖直滚动时,在界面的右侧会留有较大的空白,从而影响美观。此外,该控件不支持背景图片,因此,开发九宫格界面作为主界面就显得很有必要。该控件算法步骤如下:

1.首先,承自Control 控件;

2.定义格子数据结构,包含图片和图片的索引;

3.绘制九宫格布局。首先获得绘制画布,然后在画布上将9 个图标绘制成9 个格子,点击一个格子可改变该格子的背景及状态,同时,生成点击事件参数,并发送点击事件;

4.捕获点击事件,获取事件参数,并启动相应功能模块。

通信设计基于windows mobile 页面开发的通信方式跟PC 有很大的相似性,由于移动设备本身电源管理的需要,不联网时,设备自动关闭网卡以节约电能。因此,基于TCP/IP 使用Socket 进行长连接的通讯方式在管理上有一定的困难。系统网络通信通常只需要偶尔联网进行数据交换,可采用基于HTTP 的Web Service,Web Service 采用SOAP(Simple Object Access Protocol,即简单对象访问协议)协议进行通信,SOAP 本质为:HTTP+XML=SOAP。SOAP 是一个平台独立的应用协议,具有良好的兼容性和扩展性。在传输过程中,文本信息要经Base64 编码成字节,数据传送到接收方后,再经Base64 解编还原为原始字符串,在文本情况下,编码后的数据膨胀不大,但如果要对二进制文件进行编码,则会严重影响性能并占用较多的带宽,因此,对Web Service 进行改进,采用实现WS-Attachment规范的Web Service,避免对二进制数据进行Base64 编码/解码处理。WS-Attachment 的工作原理是将二进制数据作为SOAP 消息的附件(类似邮件的附件),而不作为SOAP消息的内容进行发送。

 

windows mobile页面开发设备管理模块设计

大多数系统采用电池供电,电源管理苛刻。由于电池容量有限,那么,如何延长系统使用时间就要予以重点考虑。系统在空闲状态下,会自动休眠,这时windows mobile后台程序运行会被挂起。因此,采用多线程设计的方式,设立专门线程不停重置系统,以防止系统被挂起。WinCE核心API 库(coredll.dll)中的函数SystemIdleTimerReset 可以实现系统自动挂起定时功能,系统设置了自动关闭时间后即调用这个函数开始记时,超时就会挂起程序,只要尚未达到关闭时间之前调用该函数,就可以避免系统挂起,通常情况下,每过59 s 即调用一次SystemIdleTimerReset,就可使电源永不被关闭。此外,windows mobile 系统的屏幕背光灯如不关闭,也会消耗电池内的电量,这时,可采用核心函数ExtEscapeSet 关闭屏幕。这样,既可以避免后台任务被挂起,又可在必要的时候关闭屏幕背光灯,从而节约电能。

windows mobile 系统网络配置复杂且难理解,许多人往往不能区分CMNET 和CMWAP 的区别,因此,在设计的时候帮助用户来设置网络就显得非常必要。由于通信方式采用Web Service,所以接入采用CMNET 就成为必然。使用函数ConfigurationManager.ProcessConfiguration(configDoc,true) 将包含配置参数的XML 文件configDoc写入windows mobile 系统,可自动建立起专用的通信信道,简化操作。

 

Web Service 传输

无线网络的带宽有限,在传输大数据时,往往会严重影响性能,而由于数据在传输过程中网络时断时续,数据中途超时中断,造成流量浪费严重。因此,有必要采取改进方法对Web Service 进行扩展,来提高数据的传输效率。改进的Web Service 处理流程如图3 所示。在压缩前,预先使用DataSetSurrogate 方法对DataSet进行序列化。该方法实际是将DataSet 中DataTable 的内容转换成二维数组,运用Proxy 模式代理DataSet 的序列化,序列化后的结果是DataSet 的1/3 左右,可以显著减少数据量,然后再进行第二次序列化。第二次序列化有3种方法:①XML 序列化;②SOAP 序列化;③二进制序列化。XML 序列化是将内存的数据转换为有着良好格式的XML 字符流,通用性强但效率低下;SOAP 序列化本质上也是XML 序列化,只是为适合SOAP 协议传输而进行的序列化。前两种序列化方法均是将二进制数据流转为文本流。二进制序列化则是将数据转换为二进制流,在3 种序列化方法中效率最高。序列化后使用开源的SharpZipLib 组件对序列化流进行压缩传输,对于图片数据,压缩并不能减少数据量,反而降低了效率,而采用WSE (Web Services Enhancements) 编写自定义的SOAPExtension,则可实现高效率的传输图片。

上一条:主叫回拨电话业务对网络的影响
下一条:无线通讯在现代教育中的应用