概述
一直以来都在JavaEye上看别人的文章,在开发中当遇到技术问题首先想到的是到JavaEye上寻找答案。很多时候都是满意而归。在此感谢不管是GG JJ DD MM 分享的技术资料,真的谢谢你们。今天我也分享一下我在开发J2ME Push 技术时的一些心得吧。由于本人水平有限,在下面的论述中难免有不足处,望各位轻拍。
Push 技术是一种通过异步方式将信息传送给设备并自动启动 MIDlet 程序的机制。 通常我们进行网络连接的时候,是
客户端主动去连接服务器,服务器处理请求并返回给客户端响应,这是同步处理机制。而 Push 技术不同,它不需要应用程序
通过“拉”的方式通过网络取得数据,应用程序需要的数据会被主动“推”向设备。当设备接收到信息的时候,相关的MIDlet 会
被激活并开始运行,处理发送过来的数据。一般来说用户是不需要参与这个过程的。Push 技术使得MIDlet 同设备更加紧密
地集成了起来,使得 MIDlet 程序在设备上的启动更加的平滑自然。
值得注意的是,Push 是MIDP2.0 的一个可选项。换句话说设备可以支持、不支持、或者部分的支持 Push 技术。
要实现Push技术需要通过在 MIDlet 套件的 jad 文件中指定 MIDlet-push 字段的信息注册。
在 Push 注册中有两种方式:静态注册和动态注册,静态注册是在 MIDlet 套件安装的时候成的。你需要通过在 MIDlet 套件的 jad 文件中指定 MIDlet-push 字段的信息。
静态注册需要我们在 jad文件或者 manifest 文件中提供 MIDlet-push 字段的内容, 每个 push
册实体需要提供如下的内容:
MIDlet-Push-<n>: <ConnectionURL>, <MIDletClassName>, <AllowedSender>
MIDlet-Push-<n>是push注册的属性名称, 一个MIDlet套件可以有多个Push注册属性。
ConnectionURL 是在 Connector.open()中使用的连接字符串
MIDletClassName 是在 Push Registry中进行注册的 MIDlet 名称,一定要包括包名,例如 cn.aircom.push.PushMIDlet。MIDletClassName一定要是在 jad 文件中记录的。
AllowedSender 是用来说明过滤器的,可以对激活 MIDlet 的来源进行限制。我们可以直接指定 ip地址,192.16.8.0.12。也可以使用通配符“*”和“?” ,其中“*”表示任意地址都可以访问,而“?”代表一个单独的字符串。如 192.168.0.?
下面是注册好以后jad的信息
MIDlet-1: SMSSend,,example.sms.SMSSend
MIDlet-2: SMSReceive,,example.sms.SMSReceive
MIDlet-Jar-Size: 9201
MIDlet-Jar-URL: SMS.jar
MIDlet-Name: SMSPush
MIDlet-Permissions: javax.microedition.io.PushRegistry, javax.microedition.io.Connector.sms, javax.wireless.messaging.sms.receive,javax.wireless.messaging.sms.send
MIDlet-Push-1: sms://:50000, example.sms.SMSReceive, *
MIDlet-Vendor: aircom
MIDlet-Version: 1.0.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
SMS-Port: 50000
最后
以上就是虚心学姐为你收集整理的J2ME PUSH技术的全部内容,希望文章能够帮你解决J2ME PUSH技术所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复