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

    范例下载

    范例程序代码:下载地址

  • 相关阅读:
    Linux CentOS完全卸载PHP
    linux下安装composer以及使用composer安装laravel
    Linux安装Composer
    2012第二届GIS制图大赛——公开课技术问题&答疑(珍贵资源哦!)(http://blog.csdn.net/arcgis_all/article/details/8216984)
    ArcMap运行时出现Runtime Error错误的解决方案
    土地用途 新的12大类
    云南省第一次全国地理国情普查信息采集(第一批) 招标中标公示
    云南省第一次全国地理国情普查信息采集(第二批)招标中标公示
    云南省第一次全国地理国情普查信息采集(第三批)招标中标公示
    C#加密算法汇总(转载)http://www.cnblogs.com/zengxiangzhan/archive/2010/01/30/1659687.html
  • 原文地址:https://www.cnblogs.com/clark159/p/5010278.html
Copyright © 2011-2022 走看看