Android cordova

时间:2024-04-01 22:23:58

本人菜鸟一枚,初写文章,写的不好得地方,还请提出意见或建议。

网上对于cordova的各种文件的作用讲解比较少,所以本篇文章主要讲解cordova插件各个文件的作用。

本文章主要讲解Cordova 混合开发的配置文件以操作使用,如有不到之处,可留言

  • 1.新建一个项目: (win+R 打开命令窗口,或使用其他方式)
    路径名>cordova create 文件名 包名 工程名
  • 2.添加Android平台:cordova platform add android 
  • 3 创建一个新的插件 plugman create --name   插件名 --plugin_id 插件ID --plugin_version 插件版本号  
  • 例子: plugman create --name cordova --plugin_id com.test.cordova--plugin_version 1.0.0
  • 4 添加插件到 android项目里 cordova plugin add  插件的目录地址 
  • 例子:cordova plugin add C:\user\uninstallPlugin
  • 5 添加插件需要用到package.json 上面提到创建新插件但是创建后发现并没有这个package.json文件 ,需要进入此插件目录下 npm init 输入此命令生成package.json文件,然后会在窗口提示配置此插件信息,无脑下一步即可(不影响使用)。
  • ---------------------------------------------------------此为分割线--------------------------------------------------------------------------
  • Android cordova
  • plugin.xml 此文件为cordova插件重中之重 谨记,此xml 会配置各种android中需要的东西,如:权限,类,三方库等;
  • Android cordova
  • 如上图所示,ImageCamera.js 稍后会讲到,此js文件是与页面交互的接口文件 可以看到
  • <js-module name="ImageCamera" src="www/ImageCamera.js">
  • <clobbers target="cordova.plugins.ImageCamera" />
  •     </js-module>
  • 为js人员调用各个方法的路径<clobbers target="cordova.plugins.ImageCamera" /> 各种方法具体命名稍后都会在ImageCamera.js中体现不要急
  • <platform name="android"></platform> 此标签为代表标签内的所有配置均为android所用

  •  <config-file parent="/*" target="res/xml/config.xml">
                <feature name="ImageCamera">
                    <param name="android-package" value="xxx.xxx.xxx.ImageCamera" />
                </feature>
            </config-file>
  • config.xml这个文件是cordova 配置所需,尽量不要手动修改,如有此文件问题可请教js同事Android cordova,因为里边的都是js的东西
  • <feature name="ImageCamera">
                    <param name="android-package" value="xxx.xxx.xxx.ImageCamera" />
                </feature>
  • 要知道cordova混合开发需要交互,因此,cordova提供了一个可交互又必须要存在的类    CordovaPlugin  上边的ImageCamera就是继承此类,这个类下面会讲到,大家不要着急,value="xxx.xxx.xxx.ImageCamera"这个代表 这个类的路径,切记要正确。
  • <!-- 依赖库 -->
            <framework src="org.greenrobot:eventbus:3.0.0" />这个为开发当中需要用到的各种三方库配置,要不然在集成插件的时候cordova可不会给你添加这些三方库的东西。
  • Android cordova
  • 权限,这个不用再多介绍了,需要什么自己按照这种方式去写就可以了
  •  <!-- application 内的 配置-->
            <config-file parent="/manifest/application" target="AndroidManifest.xml">
                <activity
                    android:name="xxx.xxx.xxx.CameraActivity"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" />
            </config-file>
  • AndroidManifest做过android开发的同学都知道 这个文件的重要性,所以依然要声明,内部因为要声明组件,所以activity也需要声明包括其他的组件也一样,类似上边
  • <!-- Java代码 -->
            <source-file src="src/android/SystemUtils.java" target-dir="src/com/xxx/xxx" />
  • 要知道,cordova比较坑的就是配置,所以各种文件都要声明非常麻烦java类的声明 前边为插件的路径,后边为集成到cordova项目中的路径(注意:各种类都需要声明)
  • <!-- drawable -->
    <source-file src="src/android/res/drawable/selector_btn_camera_close1.xml" target-dir="res/drawable"/>
  • 不光是类,资源文件一样需要声明,如果一个插件有很多类和资源,那就吐血吧!
  • plugin.xml文件里边基本就这些了,如果还有不明白的地方可留言!
  • -----------------------------------此为分割线----------------------------------------------
  • Android cordova
  • 请看上图 路径  为什么会有一个 android呢,因为插件不光android的写,ios也要写,所以只是区分一下而已,还记得上边提到的一个cordova提供的交互类吗 CordovaPlugin
  • Android cordova
  • 有想了解CordovaPlugin 的同学可以去看看,他的生命周期和Activity一样。
  •  
  • Android cordova
  • 如上图所示,一个自定义相机的动能,action为接口所回的字符串做一些处理如果 成功 则 return true 失败return false。

  • Android cordova
  • 有时候我们需要给js传值,这个时候需要用到此方法,传入对象,其中马赛克部分为前边xml中的配置,可去上面查看。
  • -------------------------------此为分割线-------------------------------------
  • Android cordova

  • Android cordova
  • js接口文件,这边对应上边类中定义的 字段,返回相应的功能,会一些js的同学看着应该比较easy 。
  • 先写到这吧,第一次写完全不知道写什么作为一个android开发人员居然在写cordova的博客也是醉了,最后各位同学有意见的提意见吧,哈哈