当前我国大多数应用程序通常是以传统的PULL方式运行,在程序的启动过程中需要用户手动来完成,但在一些特殊情况中,PULL方式却难以完全满足人们的相关需求,基于此,采用PUSH方式来运行程序 , 能够有效地实现程序自动启动运行 。本文主要针对PUSH注册机制在JAVA移动应用程序开发中的应用进行分析阐述 。
目前常用的移动应用程序开发技术主要以J2ME为主,其应用程序模块称作MIDlet,在手机等移动设备中具有非常广泛的应用 。大部分的MIDlet应用程序采用的是PULL模式,用户需要对程序进行手动的启动,但是在一些企业级移动应用程序的使用过程中,需要MIDlet自启动,这就和本文讨论的PUSH注册机制相关 。
1 PUSH注册机制的工作原理
1.1 PUSH注册机制的简单介绍
PUSH技术最早被应用于Internet的设计工作中,与传统的PULL技术相比,采用PUSH模式,服务器能可以主动将数据发送至客户端,而无需客户端将提交请求,次项技术的实质是让信息主动进行用户的寻找,信息的主动性与及时性是该项技术最主要的优势,它能够以最快的速度将信息发送至用户面前 , 但是该项技术也存在着其自身的不足之处,例如信息不是通过用户主动的请求获取,而是由服务器通过简单的筛选机制来选择,这使得其信息选择准确性不高 。虽然PUSH机制在实际应用中没有取得较大的发展和成绩,但是其在移动无线移动网络中却极大的发挥了极大的优势 。由于移动互联网络具有费用标准较高、终端能力处理能力强、网络带宽受限等特点,这对用户查找信息起了一定的限制作用 , 在实际运行过程中 , 如果能够实现相关信息到用户主动发送,就可以为用户的实际应用提供极大的便利 。
PUSH注册机制是在PUSH技术的基础上,应用于移动设备应用程序开发工作中的一种应用 , 通过应用PUSH注册机制,能够有效的实现应用程序的自启动,PUSH注册机制位于AMS内部 , 其属于GCF的一个部分,并且其被封装成类,能够提供用于PUSH相关的应用程序开发的各种方法,如:判断MIDlet是否是PUSH事件激活、获取与PUSH相关的信息、注册PUSH事件等 。
1.2 注册方式
在使用过程中,为了有效的应用PUSH注册机制 , 首先需要通过MIDlet程序在AMS中注册一个连接,其目的是为了对PUSH消息进行正常的监听与接收 。主要有两种注册方式 , 动态注册和动态注册 。
动态注册一般通过PushRegistry类中的方法来实现,在实际的应用中,MIDlet可以依据具体情况来决定允许或者是拒绝PUSH请求 , 同时还可以根据实际需求对注册进行修改,应 用registerConnection的方法来开展动态的注册,注册成功之后,其动态行为就类似于静态连接行为 。静态注册在注册安装过程中才能被改变,首先需要将MIDlet予以卸载 , 再改变JAD属性,再进行MIDlet的重新安装,而要改变动态注册连接,可以采用静态方法unregisterConnection来进行移除
静态注册主要通过MIDlet应用JAD文件来进行,在JAD文件中 , 静态请求通常是由Midlet-Push-属性来进行声明,其所需要的信息在安装的时候就已经添加在JAD文件中 。静态注册的安装和卸载都要MIDlet套件进行,安装后 , 无法添加新的注册信息,这是其缺点 。
连接注册完成之后,注册连接通常由AMS来进行监听,一旦其监听到相关的消息 , 就会将MIDlet应用程序进行激活,在PUSH注册机制中,激活MIDlet应用程序的方式主要有两种 , 一种是内部时钟激活,主要用于动态注册方式中;另外一种是接入连接激活,既可以应用于静态注册的激活中 , 也可以应用于动态注册连接的激活工作中 。
1.3 PUSH注册机制的安全性分析
在实际应用中,实现PUSH注册机制的PushRegistry类是受到安全许可及安全框架的保护的 , 相关的安全机制可以通过提出许可的方式来对敏感API的访问实施保护,将一组许可及作用于该组许可上的交互模式称之为保护域,一个设备上具有多个保护域 , 在保护域中定义了每次询问、下次不再询问、总是允许访问几种用户交互行为方式来实施保护 。
2 PUSH注册机制在JAVA移动应用程序开发中的应用实例
以PUSH机制应用于JAVA移动应用程序为实例,在开发过程中,将PUSH机制和无线消息API进行联合使用,通过接入连接方式来激活应用程序,从而实现一个自启动信息接收MIDlet应用程序的模拟,可以使用OTA方式运行两个手机模拟器,一个模拟服务器端,另一个则作为客户端,使用模拟器自带的号码,模拟从服务器端向客户端发送信息,客户端上的接收程序会自动被激活,从而可以对信息进行接收与处理 。该程序中主要有三个类,MessageReader类 , 对信息进行接收;SendMessage类处理信息的发送;主程序为PushSM SMIDlet,通过在startAPP()中调用initMessageServer()方法来建立连接,其作用是对相关消息进行监听 。SendMessage类主要是负责信息的发送,在用户写完消息点击发送按钮时,就能够启动线程,实现信息的发送 。
3 结束语
PUSH注册机制是PUSH技术在JAVA移动应用程序开发中的一种典型应用,具有非常强的实用性,本文就主要在对PUSH技术特点及PUSH注册机制的运行原理、连接注册方式、安全性等进行简单分析的基础上,对其在JAVA移动应用程序开发中的应用进行了简单分析,并提出了相关的应用实例,对于实际的JAVA应用程序开发工作具有一定的参考价值 。
【PUSH注册机制在JAVA移动应用程序开发中该如何使用】