基于PhoneGap2.9框架的android插件的实现



PhoneGap平台提供了插件功能,开发者可以将重量级的功能封装在原生代码开发的插件中,并将接口暴露给JavaScript,JavaScript调用插件功能即可完成与本地代码的交互。开发一个简单的android插件主要分以下几步:

(1)编写JAVA类,继承CordovaPlugin类,如下:


import org.apache.cordova.api.CallbackContext;

import org.apache.cordova.api.CordovaPlugin;

import org.json.JSONArray;

import org.json.JSONException;

public class Login extends CordovaPlugin {

public boolean execute(String action, JSONArray args,

CallbackContext callbackContext) throws JSONException {

if (action.equals("login")) {

String message = args.getString(0);

this.login(message, callbackContext);

return true;

}

return false;

}

private void login(String message, CallbackContext callbackContext) {

if (message != null && message.length() > 0) {

callbackContext.success("loginSuccess");

} else {

callbackContext.error("Expected one non-empty string argument.");

}

}

}

(2)在config.xml 里注册插件,如下:

<feature name="Login">

<param name="android-package" value="cn.com.vs.service.Login"/>

</feature>

(3)js调用,如下:

<script type="text/javascript" charset="utf-8">

function login(str, callback) {

var exec = cordova.require(‘cordova/exec‘);

exec(callback, function(err) {

callback(‘Nothing to echo.‘);

}, "Login", "login", [str]);

};

function success (result) {

alert("SUCCESS: \r\n"+result );

}

login("para", success);

</script>

(4)打印出loginSuccess,即可成功!



基于PhoneGap2.9框架的android插件的实现,码迷,mamicode.com

时间: 2024-10-10 04:05:19

基于PhoneGap2.9框架的android插件的实现的相关文章

基于PhoneGap3.4框架的iOS插件的实现

Phonegap 提供了iOS 设备的基础特性接口来供HTML页面调用,但是这些基础接口不能满足我们的一些特殊需求,所以有时候我们需要开发插件来扩展其功能.基于PhoneGap3.4框架的iOS插件开发,主要分以下几个步骤: 1)搭建PhoneGap3.4的iOS开发环境,搭建步骤参考此文章. 2)编写.h头文件,示例代码如下: #import <Cordova/CDVPlugin.h> @interface CDVLogin : CDVPlugin - (void)login:(CDVInv

【腾讯Bugly干货分享】Android 插件技术实战总结

本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/1p5Y0f5XdVXN2EZYT0AM_A 前言 安卓应用开发的大量难题,其实最后都需要插件技术去解决. 现今插件技术的使用非常普遍,比如微信.QQ.淘宝.天猫.空间.携程.大众点评.手机管家等等这些大家在熟悉不过的应用都在使用. 插件技术可以给项目开发带来巨大的好处,比如:并行高效开发.模块解耦.解除单个dex函数不能超过65535的限制.动态更新

android插件化-apkplug框架启动-02

本文章基于apkplug v1.6.7 版本编写,最新方式以官网最新消息为准 一 apkplug框架所需要的库文件(宿主) 可从http://git.oschina.net/plug/apkplugSDK  获取最新库文件 同时可下载最新的apkplugdemo源码 http://git.oschina.net/plug/apkplugDemos libs-- --libndkfoo.so   armeabi armeabi-v7a mips x86 --Bundle(版本号).jar 将以上的

Android插件化(使用Small框架)

github: https://github.com/cayden/MySmall Android插件化(使用Small框架) 框架源代码 1. Create Project File->New->New Project... 1.1 Configure your new project 假设宿主包名为com.example.mysmall 设置Application name为MySmall 改动Company Domain为com.example.mysmall 这步是个技巧,在Step3

android插件化-获取apkplug框架已安装插件-03

上一篇文章成功的将apkplug框架嵌入了应用中并且启动 链接http://www.apkplug.com/blog/?post=10 这一篇文章实现如何获取所有已安装插件 一 获取框架的SystemBundle的上下文BundleContext apkplug框架启动会自动创建一个SystemBundle, 它是框架的第一个插件不可停止和卸载,通过它我们可以与apkplug和其他插件通信 FrameworkInstance.getSystemBundle() 便可以获取到SystemBundl

android插件化-apkplug框架基本结构-01

由于框架开发更新频繁的原因一直都没有时间写出框架的基本架构让大家云里雾里的,现在框架已基本稳定和完善,我就抽出时间写写关于apkplug框架的基本架构和原理,同时也跟大家一起研究利用apkplug框架玩出更新的功能. 一 apkplug的基本架构 apkplug简单的说是一个容器它将apk文件解析并映射成Bundle ,下文我们简称Bundle为插件.如下图 每一个apk插件被映射到apkplug框架中就是一个Bundle对象,完整路径为 org.osgi.framework.Bundle .通

Android 插件化框架 DynamicLoadApk 源码解析

1. 功能介绍 1.1 简介 DynamicLoadApk 是一个开源的 Android 插件化框架. 插件化的优点包括:(1) 模块解耦,(2) 动态升级,(3) 高效并行开发(编译速度更快) (4) 按需加载,内存占用更低等等. DynamicLoadApk 提供了 3 种开发方式,让开发者在无需理解其工作原理的情况下快速的集成插件化功能. 宿主程序与插件完全独立 宿主程序开放部分接口供插件与之通信 宿主程序耦合插件的部分业务逻辑 三种开发模式都可以在 demo 中看到. 1.2 核心概念

自己动手写Android插件化框架

最近在工作中接触到了Android插件内的开发,发现自己这种技术还缺乏最基本的了解,以至于在一些基本问题上浪费不少时间,如插件Context和主工程Context的区别,权限必须在主工程申明等,因此花了点时间了解了一下插件的历史,并写了两个Demo作为总结.本文旨在通过两个实例直观的说明插件的实现原理以加深对插件内开发的理解,因此不会深入探讨背景和原理,代码也尽量专注于核心逻辑. 原理与背景 Android插件化从技术上来说就是如何启动未安装的apk(主要是四大组件)里面的类,主要问题涉及如何加

[Android_HTML5]基于PhoneGap(Cordova)框架的HTML5开发

PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表.但是有一条跨平台,却是很明显的优势.因为它采用HTML5+JavaScript的模式来开发应用.PhoneGap用JavaScript统一封装了几大平台的本地api(Andriod,IOS,WP8/7,WINRT)等等..这样的话从一个平台移植到另外一个平台只需要把HTML代码跟JS原封不动的拿过去,打包一下就可以了.Phone