JAVA移动应用程序开发对于PUSH技术的运用分析

2015-03-26 12:59湖北工业职业技术学院信息与智能工程系莫足琴
电子世界 2015年15期
关键词:程序开发短消息管理软件

湖北工业职业技术学院信息与智能工程系 莫足琴

JAVA移动应用程序开发对于PUSH技术的运用分析

湖北工业职业技术学院信息与智能工程系 莫足琴

PULL方式是较为常用的一种应用程序运行方式,这种运行方式需要用户以手动的形式来实现应用程序的启动,这也就说明PULL方式无法实现某些特定情况下程序启动的要求,此时,合理的运用PUSH方式实现程序的运行也就非常必要了,PUSH方式可以实现JAVA移动应用程序的自动启动运行。本文主要研究了如何运用PUSH方式在J2ME平台下来自动启动运行JAVA移动应用程序,为了使读者加深对PUSH技术的认识,本文首先介绍了该技术,然后对PUSH注册机制的实现过程进行了详细阐述,并实际开发了一个可以应用到JAVA手机上的MIDlet应用程序对移动应用程序开发中采用PUSH注册机制进行了验证。

PUSH注册机制;J2ME平台;JAVA移动应用程序

1 引言

JAVA技术主要是由J2EE、J2SE以及J2ME三个主要版本构成的,J2ME作为其主要的构成部分之一是现阶段较为常用的一种移动领域开发平台[1]。随着电子信息技术的不断发展,无线设备的类型多种多样,各种无线设备之间存在较大的差异性,JAVA语言具有与平台无关的优良特性,而J2ME很好的继承了JAVA语言的这一特性,并在此基础上实现了将其应用到小型电子设备中,J2ME可以支持各类移动设备对应用程序进行无差异的共享[2]。Sun公司对J2ME开发平台进行了科学的定义,认为该平台是由简表、配置以及Java Virtual Machine三个具体层面构成,这种定义及设计方式可以很好的实现J2ME在具有差异性的各类设备上正常运行。目前,MIDlet应用程序中大多数都是采用PULL方式实现应用程序的启动运行,但实际工作生活中在某些特殊的情况下人们更希望MIDlet应用程序可以实现自动启动,这种现象在那些大型的企业级移动应用程序中表现的更为明显,这些企业级移动应用程序经常进行的一类工作就是将信息从服务器发送到移动终端,然后运用移动终端上的应用程序对接受到的信息进行必要的处理,人们希望这一过程可以自动进行,为了满足人们的这一需求,PUSH技术的应用是非常必要的。

2 PUSH注册机制的工作原理

2.1 PUSH技术

PUSH技术是一种新兴技术,这种技术基于C/S模式,可以很好的实现将服务器中的相关信息自主推送到各类移动终端[3]。PUSH技术与传统的PULL技术相比有着根本性的区别,其区别主要边现在以下方面[4]:对与信息到达客户机的方式上两种技术存在本质性区别,PULL技术在获取信息前必须向服务器发出获取信息的请求,而PUSH则无需进行此步操作,该技术实现了服务器自主向客户机发送相关信息,在信息推送的过程中服务器是一个具体PUSH事件的发起者,这样做的最大优势就是可以使各类信息主动地出现在移动终端的客户眼前,在信息发送方面更具时效性和主动性,减少了用户用于搜索各类信息的时间,同时,还可以跟好的将各类增值业务推荐给用户,这样可以将WAP提供服务和移动终端的用户更好地联系起来。

2.2 PUSH注册机制

JAVA移动应用程序开发中应用PUSH注册机制可以自动的启动应用程序,PUSH注册是大多AMS应用管理软件的一个非常重要的组件,是AMS应用管理软件的一个组成部分,PUSH注册位于AMS应用管理软件的内部。AMS应用管理软件的主要功能是实现MIDlet应用程序的生命周期管理,包括MIDlet应用程序的运行、暂停以及销毁等。

PUSH注册在MIDP2.0中作为通用连接框架的一个类出现,在这个类中定义了所有关于PUSH的方法,程序开发人员在实现程序开发时可以充分利用所提供的方法将具体的MIDlet应用程序注册到PUSH事件中[5],同时,这一过程开发人员还可以获取与PUSH相关的各种信息,可以对该PUSH事件能否激活MIDlet应用程序进行判断。当一个应用程序处于运行状态时,这个应用程序便可对所有的与IO有关的连接进行自动处理,当应用程序未运行时,AMS应用程序管理软件便可以对一切请求入站连接进行监听,一旦监听到有连接请求,AMS应用程序管理软件便会即刻调用相关方法将应用程序启动。

MIDP2.0规范没有严格的要求设备所支持的协议类型,但为了给PUSH注册机制提供适宜的运行环境,必须支持用于保证其能够正常运行的相关入站连接的协议。入站连接的协议的实现主要是通过设备制造商来完成的。满足应用程序接收PUSH信息的一个必要前提是该应用程序已经完成了向,那么此应用程序就一定要向PushRegistry的注册过程,现有的PUSH注册方式有两种,分别是静态注册和动态注册。

静态注册通过在描述符文件中对MIDlet-PUSH字段的信息进行指定来完成注册程序,具体的信息内容应包括连接类型以及连接发送者两个方面,这一定义过程发生在安装MIDlet套件之前,因此,这种注册过程是一种静态注册。

动态注册发生在运行PushRegistry应用编程接口的过程中,实际注册过程中应用程序可视实际情况拒绝或者允许PUSH请求,某些情况下还可以通过修改注册来满足实际情况,因此,这种注册方式是一种动态注册。

当某个连接完成了PushRegistry内部的注册后,AMS应用管理软件便会对这个连接进行持续地监听,当AMS监听到消息时便会立刻将MIDlet应用程序激活,通常情况下存在两种激活方式。一种是内部时钟激活方式,另一种是入站连接激活方式。

3 应用实例分析

3.1 系统设计

笔者设计的这一实例主要是通过PUSH注册机制以及无线消息API两者的结合来实现的,激活方式选用的是入站连接激活,实例的最终目的是运用PUSH注册机制完成具体的MIDlet应用程序(具有信息接受功能)的自行启动。应用程序主要由Reader 类、SendUI 类以及SMSMIDlet 类三个类构成。从根本上将Reader类应归入到SMSMIDlet类中的一个内部子类,在应用程序中每个类的功能不同,具体如下:

Reader类:这个类的主要功能是实现接收各类短消息,并将接收到的消息显示在Form上。当系统初始化过程完成后,Reader就会被启动,当不存在短消息需要进入时,pending值即为零,此时线程也就处于等待状态。当存在短消息进入时,程序就会自动调用notifyIncomingMessage()方法,这是Reader线程被唤醒,处于工作状态,便可接收短消息,然后将短消息的地址以及内容在Form上进行显示。

SendUI类:这个类的主要功能是发送相关的短消息,当移动客户端的用户完成短消息内容的输入以及收信人地址或者号码的输入后,这个类便会通过启动新线程来完成短消息的发送。

SMSMIDlet类:这个类的功能是通过startApp()方法将界面初始化,同时,完成服务器模式的 MessageConnection的创建,这样便可以满足SMSMIDlet接收短消息的要求。

3.2 实例测试

将PUSH注册添加到Netbeans IDE中,实际操作过程为【项目属性】→【应用程序描述符】→【推注册】

通过运行两个模拟器来使用OTA方式运行SMSMIDlet,点击【菜单】→【启动】;

将5550001这一端口号写入收信人处,然后完成短消息内容的编写,单击【发送】→【是】,确认发送后接收端程序就会被自动激活,然后接收发送过来的短消息。

4 结论

将PUSH注册机制应用到JAVA应用程序开发过程中可以很好的解决一些实际问题,本文首先简单介绍了PUSH注册机制,在此基础上对PUSH注册机制如何实现应用程序自动启动运行的过程进行了详细阐述。最后通过具体的实例对应用程序开发中如何运用PUSH技术进行了演示,望本文的研究能够为程序开发人员提供一定的指导。

[1]赵霞.PUSH技术在JAVA移动应用程序开发中的应用[J].电子技术与软件工程,2015,11:256.

[2]赵景,张俊涛.PUSH注册机制在JAVA移动应用程序开发中的使用[J].无线互联科技,2014,05:199+256.

[3]陈玉涛.基于J2ME移动终端的增值业务开发研究[D].华东师范大学,2008.

[4]马帆.基于J2ME和Web服务技术的企业移动应用研究与实现[D].长安大学,2010.

[5]董航.移动应用程序检测与防护技术研究[D].北京邮电大学,2014.

莫足琴(1973—),女,湖北工业职业技术学院副教授,从计算机网络技术、计算机应用技术、高职教育改革方面的研究。

猜你喜欢
程序开发短消息管理软件
仓储管理软件在物流自动化解决方案中的应用与发展
浅析大学生在兼职小程序开发中遇到的问题
APP应用程序开发模式探究
试论电视新闻短消息的采写策略
项目法在工程造价管理软件中的应用
浅谈广播短消息的采写
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
共享电单车的管理软件
短消息业务评估体系的研究与实现