一、 javascript 端的编写

   第一个参数 成功的回调函数

  第二个参数 失败的回调函数

  第三个参数 是插件的类名称,也就是后台java文件的类名

  第四个参数 执行的 action 名称    对应的是后台java代码中的action名称

  第五个参数 传递的参数是一个数组

  1. function helloworld(success,error,option){
  2.   cordova.exec(success, error, "HelloWorld", "echo", option);//option也可以使用[xxx,xxx],他是一个数组
  3. }
  1. $(document).ready(function(){
  2. document.addEventListener("deviceready",onDeviceReady,false);
  3.  
  4. });
  5. function onDeviceReady(){
  6. helloworld(function(succ){
  7. alert('成功'+succ);
  8. },function(err){
  9. alert('失败:'+err);
  10. },['HelloMobileWorld','testWorld']);
  11. }
  12.  
  13. function helloworld(success,error,option){
  14. cordova.exec(success, error, "HelloWorld", "echo1", option);
  15. }

二、注册插件

  在Android :res/xml/  这个目录下的配置文件下注册

  1. <feature name="HelloWord">
  2.   <param name="android-package" value="org.apache.cordova.helloword.HelloWord"/>
  3. </feature>

三、 设置权限(需要调用权限的地方设置权限)

  1. <uses-permission android:name="android.permission.SEND_SMS" />

四、java 代码编写

  1、创建一个包列如:com.example.phonegap.plugin

  2、包里创建一个class 列如:HelloWorld

  1. package com.example.phonegap.plugin;
  2.  
  3. import org.apache.cordova.api.CallbackContext;
  4.  
  5. import org.apache.cordova.api.CordovaPlugin;
  6. import org.apache.cordova.api.PluginResult;
  7. import org.json.JSONArray;
  8. import org.json.JSONException;
  9. import org.json.JSONObject;
  10.  
  11. public class HelloWorld extends CordovaPlugin {
  12. @Override
  13. public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
  14. if (action.equals("echo")) { //action=echo 这里对应的就是JavaScript端的第四个参数 ,如果跟里面的参数不一样是不会执行下面的代码的
  15. String message = args.getString(0); //获取第五个参数 数组中的元素 HelloMobileWorld
           this.echo(message, callbackContext);
  16. return true;
  17. }else{
  18. callbackContext.error("这不是一个echo操作");
  19. return false;
  20. }
  21.  
  22. }
  23. private void echo(String message, CallbackContext callbackContext) {
  24. if (message != null && message.length() > 0) {
  25. callbackContext.success(message);
  26. } else {
  27. callbackContext.error("Expected one non-empty string argument.");
  28. }
  29. }
  30. }

phoneGap的Android下编写phonegap 插件的更多相关文章

  1. phoneGap的Android下编写phonegap 发送短信插件

    一.前端代码的编写 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  2. phonegap安卓环境下使用BarcodeScanner插件扫描二维码教程

    由于一直在使用phoneGap来开发安卓应用,而对于原生Java小白的我最近这几天一直陷入了如何使用phonegap的BarcodeScanner插件这件事情上,可以说查遍了百度和Google,虽然只 ...

  3. 在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏

    一.在Android平台下搭建PhoneGap开发环境具体怎么搭建我这里就不详细说了,如有需要我后面再讲 . PhoneGap 官方地址有详细说明:http://www.phonegap.com. 在 ...

  4. Windows8下PhoneGap 4 + Android Studio 1.0 + VS2013配置指南

    1.准备工作 安装JDK1.6+,设置环境变量 JAVA_HOME C:\Program Files\Java\jdk1.5.0_07 CLASSPATH .;%JAVA_HOME%\lib Path ...

  5. 使用jQuery Mobile + PhoneGap 开发Android应用程序(转)

    使用jQuery Mobile + PhoneGap 开发Android应用程序(转) 一.简介 jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅给 ...

  6. 使用 Eclipse PhoneGap 构建 Android 应用程序入门

    Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...

  7. PhoneGap 在 Android 上的插件开发方法介绍

    移动应用开发已经成为软件开发的一个重要方向,但是移动开发面临的一个重要问题就是跨平台的问题.PhoneGap 作为一个多平台的软件开发框架,提供了一次编写多个平台的运行.目前已经支持多达 6 个移动平 ...

  8. 转-MAC 下安装PHONEGAP开发环境

    来自:http://jinzhe.net/post/8.html 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统. ...

  9. 基于Android SDK安装PhoneGap框架

    下载zip文件PhoneGap 2.0.0 PhoneGap 2.0.0 Released 20 Jul 2012http://phonegap.com/download/ 解压缩后的目录结构:Dir ...

随机推荐

  1. WPF的布局--DockPanel

    1.DockPanel: 以上.下.左.右.中为基本结构的布局方式 类似于Java AWT布局中的BorderLayout. 但与BorderLayout不同的是,每一个区域可以同时放置多个控件,在同 ...

  2. WPF Window对象的生命周期

    WPF中所有窗口的基类型都是System.Windows.Window.Window通常用于SDI(SingleDocumentInterface).MDI(MultipleDocumentInter ...

  3. StrangeIoc框架学习

    StrangeIoc是一款基于MVCS的一种框架,是对MVC思想的扩展,是专门针对Unity3D开发的一款框架,非常好用. 一.MVCS分别代表什么 MVCS框架是一种模块的分离,一种写代码的规则,目 ...

  4. SP16580 QTREE7 - Query on a tree VII

    Description 一棵树,每个点初始有个点权和颜色(0/1) 0 u :询问所有u,v 路径上的最大点权,要满足u,v 路径上所有点的颜色都相同 1 u :反转u 的颜色 2 u w :把u 的 ...

  5. 架构实战项目心得(七):使用SpringBoot+Dubbo+Mybatisplus+Oracle搭建后台项目框架(二)

    接下来我们将整合mybatisplus+Oracle,实现一个简单的查询.(期间踩了很多坑,遇到一些问题,还好慢慢解决了.现在是通过配置文件的方式来进行dubbo服务的注册和发布,希望以后能在学习和实 ...

  6. 问题集录01--java对list列表进行排序

    用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** * 根据order对User排序 */ public class  ...

  7. wms-ssv数据字典

    --------------------------------------------以下,托盘-- dbo.Container --托盘 , "托盘状态", "Con ...

  8. 查找CPU使用率过高的线程

    1.在编写程序中有时候设置不恰当,休眠时间不够,一般情况下4核的电脑CPU使用率一直大于23%,8核的大于13%就有可能是这种情况 解决方法: 在VS查看并行线程利用CPU使用工具ProcessExp ...

  9. springmvc4集成swagger2

    首先在原有的springmvc工程的pom文件中增加swagger <dependency> <groupId>io.springfox</groupId> < ...

  10. golang学习之win7下go web之revel安装

    接着上回记录的win7下go环境搭建,go的开发,现在除了sublime外,LiteIDE比较推荐,下载链接 下载安装后直接打开,需要配置下go环境(本机使用的是window 386版本),如下: 打 ...