2015-07-10 1 views
0

Моя задача такова: с помощью IBM MobileFirst создайте гибридное приложение и реализуйте JS-калькулятор. показать дату, полученную из собственных API-интерфейсов Java, на веб-страницу.Android: MobileFirst отправляет данные от Native до перекрестной страницы

Мои попытки:

  1. Я последовал Documentations here и реализовал весь Native код OnCreate метод
  2. я нашел this ответ "первый", иллюстрирующий, что я должен использовать его на onInitWebFrameworkComplete,

    • Решение не было выполнено
    • Я работаю с MobileFirst versio п 7
    • полного пример кода provided

Предложение: я должен создать бар всего действия в машинном коде затем объединить его в поперечном ш, является то, что доступно? Мне нужно только отправить маленькую строку даты

ответ

0

Я не понимаю ваших попыток, так что вы можете быстро продемонстрировать, как нажать кнопку в HTML и запустить API-интерфейс отправки, чтобы получить текущую дату на Java и вернуть его на JavaScript, а затем отобразить его.

index.html

<button onclick="getDateFromJava();">show current date from Java</button> 

main.js

function wlCommonInit(){ 
    WL.App.addActionReceiver ("returneDdateFromJava", returnedDateFromJava); 
} 

function getDateFromJava() { 
    WL.App.sendActionToNative("retrieveDate"); 
} 

function returnedDateFromJava(received){ 
    if (received.action === "returnedDateFromJava"){ 
     alert (JSON.stringify(received)); 
    } 
} 

основной класс Java файл

  1. Найти onInitWebFrameworkComplete
  2. Добавить ActionReceiver после else:

    import com.worklight.androidgap.api.WLActionReceiver; 
    ... 
    ... 
    
    public void onInitWebFrameworkComplete(WLInitWebFrameworkResult result){ 
        if (result.getStatusCode() == WLInitWebFrameworkResult.SUCCESS) { 
         super.loadUrl(WL.getInstance().getMainHtmlFilePath()); 
        } else { 
         handleWebFrameworkInitFailure(result); 
        } 
    
        ActionReceiver ActionReceiver = new ActionReceiver(); 
        WL.getInstance().addActionReceiver(ActionReceiver); 
    } 
    

ActionReceiver класс

package com.getDateApp; 

import java.util.Date; 
import org.json.JSONException; 
import org.json.JSONObject; 
import com.worklight.androidgap.api.WL; 
import com.worklight.androidgap.api.WLActionReceiver; 

public class ActionReceiver implements WLActionReceiver{ 
    public void onActionReceived(String action, JSONObject data){ 
     if (action.equals("retrieveDate")){ 
      Date date = new Date(); 

      JSONObject returnedDate = new JSONObject(); 
      try { 
       returnedDate.put("dateFromJava", date); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
      WL.getInstance().sendActionToJS("returnedDateFromJava", returnedDate); 
     } 
    } 
} 
Смежные вопросы