千家信息网

如何使用JavaScript调用手机平台上的原生API

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要为大家展示了"如何使用JavaScript调用手机平台上的原生API",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用JavaScript
千家信息网最后更新 2025年01月22日如何使用JavaScript调用手机平台上的原生API

这篇文章主要为大家展示了"如何使用JavaScript调用手机平台上的原生API",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用JavaScript调用手机平台上的原生API"这篇文章吧。

您也许会有一些需求,需要在您的前端应用里使用到手机平台的一些原生API,比如使用手机Mobile操作系统提供的传感器(Sensor)。这些任务是JavaScript不能直接完成的,必须借助Cordova里Custom Plugin(自定义插件)来完成。注意看下图红色高亮的Custom Plugin,起到了一个桥梁的作用,沟通了Cordova应用中的前端JavaScript代码和手机操作系统中的原生API。

我们现在就来做一个实际的例子,我们选择Android平台为例。我在Android平台用Java实现两个整数相加,来模拟Android平台上的native API。我将会在我的前端应用里用JavaScript代码来调用我在Android平台上用Java实现的这个加法器。

1. 先使用npm安装Cordova插件管理器。

命令行:npm -g install plugman

插件管理器成功下载后,就可以用它创建一个自定义插件了。

命令行:plugman create -name Adder -plugin_id jerry.adder -plugin_version 1.0,0

这个命令会自动创建一个名叫Adder的插件,插件id为jerry.adder, 版本号为1.0.0。

plugman会自动生成很多插件能够工作的资源文件,全部放在名为Adder的文件夹内。

2. 我希望这个Adder插件在安卓平台上工作,因此进入Adder文件夹,添加该插件对Android平台的支持:plugman platform add -platform_name android

执行完毕后,Adder文件夹下自动生成子文件夹src/android和插件实现文件Adder.java。现在我可以在里面开始写代码了。

用Java实现两个整数的加法运算。操作数都是通过JavaScript用参数args传入的,计算结果通过回调上下文CallbackContext返回给JavaScript端。

public class Adder extends CordovaPlugin {    @Override    public Boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {        if (action.equals("performAdd")) {            int arg1 = args.getint(0);            int arg2 = args.getint(1);            int result = arg1 + arg2;            callbackContext.success("result calculated in Java: " + result);            return true;        }        return false;    }}

3. 插件实现完毕,可以开始打包了。使用命令行plugman createpackagejson ./

这个命令会自动生成一个package.json文件。

Once done, the package.json file is generated within plugin folder.

把这个自定义的插件安装到Cordova应用去,命令行:cordova plugin add Adder。

一切正常的话,能看到BUILD SUCCESSFUL的提示。

如何用前端应用的JavaScript消费这个Java实现的插件呢?

在你Cordova项目文件夹/platforms/android/assets/www/js的index.js里,将下列JavaScript代码粘贴进去:

var app = {initialize: function() {    document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);},onDeviceReady: function() {    this.receivedEvent('deviceready');},receivedEvent: function(id) {    function success(result){        debugger;        alert("Jerry plugin result: " + result);    }    ;    setTimeout( function(){        Cordova.exec(success, null, "Adder", "performAdd", [10,20]);    }    , 10000);}};app.initialize();

关键代码就这一句:Cordova.exec(success, null, "Adder", "performAdd", [10,20]);

意思是调用名为Adder的插件,执行插件暴露的performAdd方法,传入两个参数10和20进去。Java插件的计算结果通过JavaScript回调函数success返回到前端应用中,用alert打印出结果。

使用cordova compile打包Cordova应用,生成APK文件。执行该应用,能观察到10和20两个操作数传入到Java实现的插件中,结果30返回到前端并通过alert弹窗显示,我们的自定义插件开发成功!

最后一步就是命令行cordova compile, 生成了最终的APK文件,然后就可以安装到安卓手机上了。

以上是"如何使用JavaScript调用手机平台上的原生API"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

插件 平台 文件 应用 手机 命令 前端 代码 文件夹 生成 两个 结果 内容 篇文章 自动生成 成功 操作系统 加法 参数 操作数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重庆企业直播软件开发 网络安全法第三十七条指出 六盘水web服务器 河南宝赫互联网科技有限公司 网络安全伴我行 班会主持稿 惠普服务器装系统没有分区 视频 网页 服务器 淘宝直播观看人数软件开发 导入健康数据库 思科服务器管理口 大星教师网络技术考试平台 简述网络安全基本概念 可信赋能网络安全 新游网络安全海报 安徽金宇互联网农业科技有限公司 java 应用程序服务器 电力网络安全事故演练 梦幻西游新服务器能玩吗 我国网络安全的主要威胁来子 数据库以什么形式存储在外存 表空间与数据库的关系 格力软件开发待遇怎么样好不好 网络安全的安全技术有哪些 南京速通网络技术有限公司 整站数据库源码怎么查 中国电信连网络安全吗 服务器活动过程教案 计算机网络技术毕业论文怎么做 数据库安全性控制的存储 nba2k显示连接服务器错误
0