2010-10-11 5 views
0

Для обмена данными между приложениями я создал 2 приложения, одно приложение UI, а другой является фоновое приложение, путем установки alternate entrypoint

я смог найти similar question, но не смог получить помощь, мне нужно там

Я могу создать Global Events and a Global Listener, , но моя проблема в том, как перенести данные из одного приложения в другое.

В UI ЗАЯВКИ мы можем размещать globalEventКак обмениваться данными между двумя приложениями Blackberry?

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."); 
       } 
      }); 
     } 
    } 

Но как передать данные из фонового приложения в пользовательском интерфейсе приложения application.How UI могут обращаться к данным или объектам фонового приложения.

+0

Спасибо за редактирование. –

ответ

3

вы можете использовать Runtime storage как центральное место для обмена данными между фоном и потоком пользовательского интерфейса.

+0

, но нельзя ли обменять их напрямую? –

+0

Будет ли это хранилище времени выполнения требовать регистрации для тестирования на симуляторе? –

+0

какая регистрация? если вы спрашиваете о подписании кода, для тестирования на симуляторе не требуется подписание кода. – Vivart

2

Вы можете использовать аргументы int и Object в системе событий для передачи данных между экземплярами приложения. При публикации события используйте перегрузку postGlobalEvent, которая принимает ints и Objects. И в обработчике события, downcast object0 или object1 по мере необходимости.

+0

Спасибо за ответ, у меня есть еще 1 сомнение. Из приложения пользовательского интерфейса. Я отправлю сообщение GlobalEvent, и в этом вызове Фоновое приложение будет взаимодействовать с сервером и получит запрашиваемые данные, но в приложении пользовательского интерфейса я хочу продолжить работу только после получения результата из фонового приложения. Как я должен сделать UI Apllication зависимым от фонового приложения. –

+0

Отправка события из фонового приложения в приложение пользовательского интерфейса. Вам нужно будет настроить приложение пользовательского интерфейса, чтобы дождаться, когда событие будет опубликовано - используйте блокировки или опрос. Но это отличный вопрос, связанный с перекрестным подключением. –

+0

http://stackoverflow.com/questions/3911450/how-to-get-lock-of-one-application-for-other-in-blackberry Пожалуйста, помогите мне в моем втором сомнении, это будет отличная помощь –

Смежные вопросы