zoukankan      html  css  js  c++  java
  • [Cordova] Plugin里使用Android Library

    [Cordova] Plugin里使用Android Library

    前言

    开发Cordova Plugin的时候,在Native Code里使用第三方Library,除了可以加速项目的时程、也避免了重复发明轮子的窘境。本篇文章介绍如何在Cordova的Plugin里使用Android Library,主要为自己留个纪录,也希望能帮助到有需要的开发人员。

    • 参考数据:

      前言01

    建立

    Android中的第三方Library,除了可以从网络上取得之外,也可以依照下列文章的步骤,建立一个自己的Android Library:「mylibrary.jar」。后续步骤,会拿这个mylibrary.jar做为第三方Library来使用。

    接着要动手撰写Cordova Plugin来使用Android Library,开发人员可以依照下列文章的步骤,建立一个自己的Cordova Plugin:「clk-cordova-sample」。后续步骤,会拿这个clk-cordova-sample做为Plugin主体来使用。

    使用

    完成上列两个步骤之后,开发人员会拥有Cordova Plugin:「clk-cordova-sample」、以及Android Library:「mylibrary.jar」。接着将mylibrary.jar放到clk-cordova-sample的srcandroid文件夹里,并且修改clk-cordova-sample的plugin.xml,定义Cordova编译的时候,将mylibrary.jar加入到平台项目的文件夹来进行编译。

    • 加入mylibrary.jar

      <source-file src="src/android/mylibrary.jar" target-dir="libs" />
      
    • 完整plugin.xml

      <?xml version="1.0" encoding="UTF-8"?>
      
      <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"        
              id="clk-cordova-sample" 
              version="1.0.0">
      
          <!-- metadata -->
          <name>CLK Cordova Sample</name>
          <description>CLK Cordova Sample的说明</description>
          <license>Apache 2.0</license>
      
          <!-- javascript -->
          <js-module name="NotificationService" src="www/clk.cordova.sample.NotificationService.js" >
              <clobbers target="clk.cordova.sample.NotificationService" />
          </js-module>
      
          <!-- android -->
          <platform name="android">        
              <!-- config -->
              <config-file target="res/xml/config.xml" parent="/*">
                  <feature name="NotificationService">
                      <param name="android-package" value="com.clk.cordova.sample.NotificationService"/>
                  </feature>
              </config-file>        
              <!-- source -->
              <source-file src="src/android/NotificationService.java" target-dir="src/com/clk/cordova/sample/NotificationService" />
              <source-file src="src/android/mylibrary.jar" target-dir="libs" />
          </platform>
      
      </plugin>
      

    完成上列步骤后,接着动手修改clk-cordova-sample里NotificationService.java,来使用mylibrary.jar里面所提供的Class。

    • NotificationService.java

      package com.clk.cordova.sample;
      
      import org.apache.cordova.*;
      import org.json.*;
      import android.widget.Toast; 
      import myLibrary.MyClass;
      
      public class NotificationService extends CordovaPlugin {
      
          // methods
          public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
      
              // show
              if(action.equals("show")) {
      
                  // test
                  MyClass x = new MyClass();
                  String message = "Hi " + x.getMessage();
      
                  // execute
                  Toast.makeText(this.cordova.getActivity(), message, Toast.LENGTH_LONG).show();
      
                  // return
                  return true;
              }
      
              // default
              return false;       
          }
      }
      

    最后,执行clk-cordova-sample里的范例APP。就可以在执行画面上,看到一个Toast窗口显示从Library取得的讯息内容,这也就完成了Cordova Plugin使用Android Library的相关开发步骤。

    • 显示回传讯息

      使用01

    范例下载

    范例程序代码:下载地址

  • 相关阅读:
    QML小例子【QML工程里信号与槽】
    TensorFlow基础笔记(11) conv2D函数
    tensorflow学习笔记(10) mnist格式数据转换为TFrecords
    tensorflow函数学习笔记
    各个层次的gcc警告
    opencv3.2 dnn 图像分割
    ubuntu16.04 安装caffe以及python接口
    linux profileashrcash_profile之间的区别和联系
    ubuntu 16.04 安装pycharm
    Ubuntu下配置samba实现文件夹共享
  • 原文地址:https://www.cnblogs.com/clark159/p/5010278.html
Copyright © 2011-2022 走看看