4

これは、Java プラグインのテスト コードの一部です ( phonegap 2.7 を使用しています)。

public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {

  try {

      String[] result;
      result = new String[10];
      result[0] = "test1 success";
      result[1] = "test2 success";
      callbackContext.success(result);  //error

  } catch(Exception ee) {
      System.out.print("ee:"+ee.getMessage());
  }
  return true;
}

私の質問は次のとおりです。

  1. javascriptで配列を取得できるように、android phonegapプラグインから配列を返す方法は?

  2. 返される配列 (JSONArray?) よりも優れているデータ型はどれですか?

ありがとう

4

1 に答える 1

7

PluginResultクラスはあなたの友達です:

public PluginResult(Status status, JSONObject message) {
    this.status = status.ordinal();
    this.message = (message != null) ? message.toString(): "null";
}

また

public PluginResult(Status status, String message) {
    this.status = status.ordinal();
    this.message = JSONObject.quote(message);
}

あなたの場合、jsonオブジェクトまたは文字列を受け入れます。したがって、必要なjson配列を返すには

JSONObject json = new JSONObject();
json.put("foo", "bar");

callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, json));
于 2013-08-21T06:41:07.223 に答える