phonegap蓝牙插件_PhoneGap:通过插件使用本机移动功能

phonegap蓝牙插件

最近,我受命在PhoneGap中开发利用蓝牙功能的移动应用程序。 尽管PhoneGap提供了基本功能,但是PhoneGap缺乏实现蓝牙等移动功能的能力。 但是,它提供了实现用户定义的插件的机制以及访问PhoneGap应用程序中本机功能的方法。 在此博客中,我将概述实现PhoneGap插件以利用本机移动功能的步骤。

在我之前的博客“ Android,iOS和Windows Mobile…哦,我:PhoneGap简介 ”中,我总结了基本功能。 如果您尚未审核该帖子,我建议您进行审核。

实施插件

要实现插件,您需要实现一个JavaScript接口,该接口允许通过PhoneGap应用程序中HTML页面访问这些功能。 插件接口必须以本地语言实现。

JavaScript界面​​中使用cordova.exec函数通过用户定义的本机插件访问本机功能。 我概述了功能和参数的格式和说明,以供参考:

cordova.exec(success, failure, "NativePluginName", "start", [Arg]);

参数:

  • “成功” –成功完成本机调用后将调用的函数。
  • “失败” –将在本机插件发生错误时调用该函数调用,并根据插件实现传递消息。
  • “ NativePluginName” –在本机端要调用的服务类。 通常,它将是本机插件的类名。
  • “开始” –在本机插件上要调用的操作。 通常,它是方法名称。 但是,可以根据本机插件中使用的操作名称使用其他操作名称(下面提供了说明)。
  • “ [Arg]” –最后一个参数允许在本机插件实现中传递方法的参数数组。

确保在HTML网页中包含JavaScript界面​​以访问JavaScript界面​​功能。

<script type="text/JavaScript" src="js/JavaScriptplugininterface.js"></script>

在上面的语句中, JavaScriptplugininterface是JavaScript接口名称的名称。 通常,它类似于本机插件。

用户定义的本机插件

对于用户定义的本机插件,我将讨论利用Java的Android插件。

要实现本机插件接口,您的类需要扩展到“ CordovaPlugin”。 Android使用意图在进程之间进行通信。 Cordova插件提供对Cordova对象的访问,通过它您可以访问当前活动和上下文。 使用上下文,您可以创建新的意图并从插件中启动它或在上下文中执行功能。 要访问插件中应用程序的当前活动和上下文,可以使用:

this.cordova.getActivity() and this.cordova.getActivity().getBaseContext() respectively.

为了使Cordova能够找到插件,必须在res / xml / config.xml中对其进行声明。

<feature name="NativePluginName">
        <param name="android-package" value="com.keyhole.cordova.NativePluginName" />
</feature>

功能的名称是在JavaScript中用于调用服务的服务名称。 参数值是服务类的完整路径(包括名称空间)。 不要更改参数名称=“ android-package” 。 如果您未包含此插件,则将编译应用程序,但Cordova将无法找到该插件。

最后,JavaScript的cordova.exec函数将与参数一起传递到插件的execute方法。 参数动作是从JavaScript传递过来的,可以按照以下方式进行匹配以实现该功能。 同样,在JavaScript中传递的参数在Cordova参数中可用。

@Override
public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException {

		boolean validAction = true;
		Log.d("Plugin executing action:",action);
		  if (action.equals("start")) {
			  theCallbackContext = callbackContext;
// Do work
	        } else {
	        	validAction = false;
	        }
		return validAction;
	}

结论

使用PhoneGap的主要好处是您可以使用HTML,jQuery,JavaScript开发应用程序,而无需熟悉多种移动本机语言。 但是要实现PhoneGap中尚未提供的功能(如蓝牙),需要实现一个插件以提供对本机功能的访问。 插件的实现需要使用特定的移动母语构建的接口。 不幸的是,必须使用特定的移动母语进行编码会削弱PhoneGap的主要优势之一。

如上所示,接口代码是用本地语言实现的很小一部分。 因此,使用PhoneGap可以减少本地语言所需的代码量。 因此,我仍然认为PhoneGap是为多个平台实现移动应用程序的不错选择。

有关PhoneGap的更多信息,请访问phonegap.com

参考: PhoneGap:Keyhole Software博客上从我们的JCG合作伙伴 Jinal Patel 使用带有插件的本机移动功能

翻译自: https://www.javacodegeeks.com/2013/11/phonegap-utilizing-native-mobile-features-with-plugins.html

phonegap蓝牙插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值