如何在两个Blackberry应用程序之间交换数据?

时间:2010-10-11 05:06:41

标签: java blackberry

要在应用之间交换数据,我创建了2个应用程序,一个是UI应用程序,另一个是后台应用程序,通过设置alternate entrypoint

我找到了一个similar question,却无法得到我需要的帮助

我可以创建Global Events and a Global Listener, 但我的问题是如何将数据从一个应用程序传输到另一个应用程序

在UI APPLICATION中,我们可以发布globalEvent

ApplicationManager.getApplicationManager().postGlobalEvent(0xba4b84944bb7);

在后台应用程序中,我们可以收听并发送确认

public void eventOccurred( long guid, int data0, int data1, Object object0, Object object1)
    {
        //Is this the GlobalEvent we are waiting for?
        //Long = com.samples.globalEventFiring.GlobalEventListening
        if (guid == 0x7d3a74a5ccfe6483L)
        {
            //Yes it is.

            System.out.println("Acknowledgement received.");

            UiApplication.getUiApplication().invokeLater(new Runnable()
            {
                public void run()
                {
                    Dialog.alert("Event was fired and acknowledged.");
                }
            });
        }
    }

但是如何将数据从后台应用程序传输到ui应用程序。如何在UI应用程序中访问后台应用程序的数据或对象。

2 个答案:

答案 0 :(得分:3)

您可以使用Runtime storage作为中心位置,在后台和UI线程之间共享数据。

答案 1 :(得分:2)

您可以在事件系统中使用int和Object参数在应用程序实例之间传递数据。发布事件时,请使用带有整数和对象的postGlobalEvent重载。并且在事件处理程序中,根据需要向下转换object0或object1。