J2ME中文教程 9 MIDP 2 Push技术[2]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

registerConnection(String connection, String midlet, String filter)
       
在应用程序管理软件中注册一个动态连接

static boolean

unregisterConnection(String connection)
       
删除一个动态连接注册

      

通过使用PushRegistry我们可以把一个MIDlet注册到Push事件中并可以取得push相关的信息。

MIDP2.0中,Push的处理是由AMSMIDlet共同负责的,这样有利于简化AMS的实现,同时也可以避免把信息push到设备的方式和格式限制的过于严格。下面我们了解一下Push处理的过程,首先假设一个MIDlet已经被注册到push事件中:

1)首先,当MIDlet没有被激活的时候,AMS负责监视某个MIDlet的注册事件,一旦注册事件发生的时候,AMS会激活相关的MIDlet来进行下一步的处理。

2)当MIDlet正在运行的时候,MIDlet自己要负责所有的push事件的处理。主要是inbound网络连接和时钟事件。

9.2    静态注册与基于inbound网络连接的Push

下面我们将采用讲解和实例结合的方式来说明如何使用Push机制开发J2ME应用程序,

 

我们将使用SUN提供的Wireless Toolkit(WTK)做为运行环境。

 

Push注册中有两种方式:静态注册和动态注册,静态注册是在MIDlet套件安装的时候完成的。你需要通过在MIDlet套件的jad文件中指定MIDlet-push字段的信息。并且当我们想测试应用程序的时候,不能只是简单的选择RUN,而必须要使用WTK提供的RUN via OTA功能把MIDlet套件通过AMS安装好,然后测试Push功能。

 

静态注册需要我们在jad文件或者manifest文件中提供MIDlet-push字段的内容,每个push注册实体需要提供如下的内容:

MIDlet-Push-<n>: <ConnectionURL>, <MIDletClassName>, <AllowedSender>

 

l         MIDlet-Push-<n>push注册的属性名称,一个MIDlet套件可以有多个Push注册属性。

l         ConnectionURL是在Connector.open()中使用的连接字符串

l         MIDletClassName是在Push Registry中进行注册的MIDlet名称,一定要包括包名,例如com.j2medev.push.PushMIDletMIDletClassName一定要是在jad文件中记录的。

l         AllowedSender是用来说明过滤器的,可以对激活MIDlet的来源进行限制。我们可以直接指定ip地址,如192.16.8.0.12。也可以使用通配符“*”和“?”,其中“*”表示任意地址都可以访问,而“?”代表一个单独的字符串。如192.168.0.

 

下面给出一个静态注册的基于inbound连接的Push实例。我们编写一个简单的MIDlet应用程序,并在安装过程中完成静态注册。然后我们起一个socket连接来激活这个MIDlet。整个过程分为注册、监听、运行、处理数据四部分。

本文关键:J2ME中文教程 9 MIDP 2 Push技术
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top