2015-12-17 5 views
1

Я совершенно новый в кордовой и нативный код для AndroidСоздание основного пользовательского плагина Cordova

Я создал свой собственный плагин с помощью плагина.

plugman create --name myCustomPlugin --plugin_id myCustomPlugin --plugin_version 1.0 

plugman создал для меня все необходимые файлы для начала работы.

JS файл www/myCustomPlugin.js

var exec = require('cordova/exec'); 

exports.coolMethod = function(arg0, success, error) { 
    exec(success, error, "myCustomPlugin", "coolMethod", [arg0]); 
}; 

Java файл src/android/myCustomPlugin.java, метод выполнения

@Override 
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { 
    if (action.equals("coolMethod")) { 
     String message = args.getString(0); 
     this.coolMethod(message, callbackContext); 
     return true; 
    } 
    return false; 
} 

private void coolMethod(String message, CallbackContext callbackContext) { 
    if (message != null && message.length() > 0) { 
     callbackContext.success(message); 
    } else { 
     callbackContext.error("Expected one non-empty string argument."); 
    } 
} 

Возникает вопрос: В файле проекта Cordova JS. Как мне позвонить myCustomPlugin? и откуда я знаю, что он работает?

Я использую угловой в моем Cordova проекте, скажем мой контроллер выглядит так:

.controller('mainCtrl', function($scope){ 
    // how to call myCustomPlugin here? 
}); 

Мой мотив просто чтобы узнать, как позвонить и как это работает только, может быть, после нажмите будет делать собственное оповещение или открытое собственное представление или что-то в этом роде.

Заранее благодарен!

ответ

1

Вы можете сделать:

WWW/myCustomPlugin.js

var MyCustomPlugin { 
    coolMethod : function(arg0, success, error) { 
     exec(success, error, "myCustomPlugin", "coolMethod", [arg0]); 
    } 
} 

module.exports = MyCustomPlugin 

И в вашем JS клиента просто:

MyCustomPlugin.coolMethod("Arg1", function(){}, function(){}); 

Кордова будет инъекционные файл JavaScript для вас.

Надеюсь, это поможет.

+0

, когда я установил этот плагин в свой проект cordova, а затем позвоню ему. он говорит, что 'MyCustomPlugin' не определен. мне нужно включить файл plugin js в мой index.html? – faiz

+1

хорошо. теперь он работает. это хорошо – faiz

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