「ionic调用java」ionic原理
今天给各位分享ionic调用java的知识,其中也会对ionic原理进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、ionic怎么使用cordova
- 2、如何开发Ionic插件
- 3、如何使用ionic打包android的apk
- 4、ionic开发 怎么调用第三方app
- 5、ionic1 自定义插件如何调用
- 6、ionic 怎样添加android 平台
ionic怎么使用cordova
方法/步骤
1
首先需要安装好node.js(网上教程很多)
这是为了使用npm来安装ant,cordova,ionic
验证是否安装好node.js的方法是在命令提示符中输入“node -v”
若出现版本号,证明安装成功。
2
下载jdk,并配置java环境(网上教程很多)
验证是否安装好的方法是在命令提示符中输入“javac”
若出现如下内容,证明安装成功。
3
安装ant,并配置相应的环境(网上搜教程)
验证是否安装好ant的方法是在命令提示符中输入“ant -v”
若出现版本号,证明安装成功。
4
现在就可以安装cordova了,根据下图一步一步来就好了,官网有,可以自己搜下;
验证是否安装好cordova的方法是在命令提示符中输入“cordova -v”
若出现版本号,证明安装成功。
5
接下来是安装成功ionic的重要一步了,就是安装express,
cmd 输入:npm install express
等待一会即可
6
接下来就可以安装ionic了,也是按下图,或是去官网查看步骤;
注意:如果按步骤执行到最后三步,发现出错,请先安装android sdk
或者可以直接省略最后三步(即只用执行到 cd myApp),在命令提示符中输入“ionic serve”
直接在浏览器中查看效果;
7
验证是否安装好ionic的方法是在命令提示符中输入“ionic -v”
若出现下图,证明安装成功。
END
应用过程中遇到的一些问题解决办法
1
升级cordova命令
调用语句 :windows用户npm update -g cordovamac系统的用sudo npm update -g cordova查看cordova信息npm info cordova 查看cordova 版本cordova -v查看cordova命令cordova help
END
注意事项
配置环境变量时,用英文状态下“;”把要添加的路径与前面有的隔开;
所有的命令都是在命令提示符中进行的,在输入命令时,别把“$”也一块输进去~
如果前面都实现了,但是ionic还是安装失败,多半是网络问题;
如何开发Ionic插件
1. Cordova Plugin基础
1.1. 目录结构层次
IONIC下的插件都是遵循CORDOVA插件([BIBAPACHECORDOVA])规范,同时提供与CORDOVA类似的PLUGIN子命令来管理插件(IONIC PLUGIN XXX)。
下面是插件管理命令中的添加、删除及列举等基本使用方法:
$ ionic plugin list
cordova-plugin-camera 1.2.0 "Camera"
cordova-plugin-console 1.0.1 "Console"
cordova-plugin-device 1.0.1 "Device"
cordova-plugin-splashscreen 2.1.0 "Splashscreen"
cordova-plugin-statusbar 1.0.1 "StatusBar"
cordova-plugin-whitelist 1.0.0 "Whitelist"
ionic-plugin-keyboard 1.0.7 "Keyboard"
plugin-mydemo 1.0.0 "MyDemo"
添加(add)一个插件的时候,若指定的是本地的路径,则是将本地路径下的目录文件copy到plugins/下。若是插件名,则会自动连接到网上下载对应的插件。
由于插件是遵循Cordova插件规范,所以每个插件的代码目录层次结构都是高度类似的。每一个插件都是plugins/的一个子目录,Figure-1描述了插件共同的基本目录结构框架。
Figure 1. 插件的目录结构
从图中可以看出,插件框架中将不同平台的实现代码都放在各自不同的目录下(android/ios),通过ionic统一生成各自对应平台的应用程序。
为了方便管理plugins/下多个插件,通常在plugins/下会有一个总的管理文件,比如编译android平台的时候,会有一个android.json文件,里面放着当前插件的简单信息。
当用户使用ionic plugin add/remove命令来添加、删除插件的时候,android.json也会自动的把相应插件定义条目添加或者删除掉。
1.2. 插件工作原理分析
上一节我们已经清楚了一个插件的代码目录结构,那么一个插件是如何正确地在IONIC框架下运行的呢? 前台的HTML/JS代码又是如何与后面具体平台做数据交互的呢?
这个就需要对插件的工作原理及各个模块之间的流程关系有一个基本的了解[1]
为了让插件能够访问具体平台系统的代码,Cordova提供了对应的标准封装API来完成,下面的图简单地示意了Android平台情况下的封装过程:
Figure 2. 插件封装调用图
当用户ionic
build
android进行第一次编译的时候,会自动将插件下的Java文件copy到platform/android/目录下面,同时将JS也copy到platform/android/目录下,最终使用Android的编译工具(aapt/aidl/dx/apkbuilder等)生成.APK应用程序。
这里需要注意的是,插件中的Java文件默认下只会在第一次编译的时候自动放到platform/android/,之后即使用户修改了插件目录下面的Java文件,编译的时候仍然是使用platform/android/下的Java文件。
解决的方法可以是在编写自己插件调试的时候,在platform/android/下建立一个symbol link, 指向插件中的Java文件。
这样可以保证修改的Java文件会参加编译。
1.3. 数据的交互
从\REF{SECIONICPLUGINFLOW}节我们已经清楚JS和ANDROID平台之间分别通过JS的CORDOVA.EXEC()和JAVA的CORDOVAPLUGIN.EXECUTE()函数来对接。
这两个接口的参数对应关系如下所示:
由于JS发送到Java的数据已经作为函数的参数传入, 所以函数中的回调参数,主要是帮助Java侧反馈数据给JS侧所用。
Cordova使用了org.apache.cordova.PluginResult来完成,当中的PluginResult.Staus代表JS调用插件成功与否的状态。
通常代码中判断状态值是否为PluginResult.Staus.OK,来确认调用结果成果或者失败
2. 制作插件
实际工作中,我们往往需要自己编写满足自己项目需求的插件。这里将逐步介绍编写插件的步骤和注意事项。
2.1. PLUGMAN
也许IONIC的框架编写者觉得JS开发人员只要会怎么调用和删除插件就足够了。
所以默认下,ionic的plugin子命令,只是给JS开发者来add/remove编写好的插件。它并没有, 也不提供start/create等类似的生成插件代码框架的功能选项。
若我们需要自己编写自己的插件,则可以使用额外的一个叫做plugman的工具[2], 该工具可直接通过npm来安装。
安装成功后,就可以使用plugman命令来自动生成插件代码框架,避免手工建立和输入代码文件的工作:
$ sudo npm install -g plugman
$ plugman create --name plugin-myspeech --plugin_version 0.1 --plugin_id org.foo
$ cd plugin-myspeech
$ plugman platform add --platform_name android
上述命令将会生成一个plugin-myspeech的目录,同时会自动生成plugin.xml、src以及www目录。
当使用platform add添加完android支持后,对应的Android Java代码框架也会自动生成。
同理,plugman platform add --platform_name ios添加iOS支持后,和iOS相关的代码框架也自动生成。
2.2. 编写插件
这里介绍一个自己写的ANDROID平台下的简单PLUGIN,演示前台到后面具体平台实现的流程。
插件本身逻辑非常简单: 得到JS请求后,把当前手机的Android系统的版本信息,并发送回前端。
通过plugman命令生成基本插件代码框架:
$ plugman create --name MyDemo --plugin_version 0.1 --plugin_id org.ioniconline
$ cd MyDemo
$ plugman platform add --platform_name android
自动生成的代码框架中,定义了coolMethod方法,我们可以在Java代码中处理该请求
public class MyDemo extends CordovaPlugin {
public boolean execute() {
if (action.equals("coolMethod")) {
Log.e("MyDemo", "process the req");
String str = android.os.Build.VERSION.RELEASE;
PluginResult r = new PluginResult(PluginResult.Status.OK, str);
r.setKeepCallback(true);
callbackContext.sendPluginResult(r);
return true;
}
return false;
}
}
至此,一个插件的功能已经完成。
接下来我们在自己的ionic应用中添加该插件。用户可以指定自己刚刚编写的控件文件目录位置。该示例插件已经存放在github上,所以可以从github上直接添加:
$ ionic plugin add
这样会在当前应用的plugins目录下生成org.ioniconline目录,里面放的就是前面编写的插件代码。
在需要调用Android接口的地方加上JS代码:
function getVersion() {
cordova.plugins.MyDemo.coolMethod('useless',
function(okData) {
alert(okData);
},
function(failData) {
alert(failData);
});
}
成功情况下,会弹出包含Android系统版本号数据的对话框。比如在我华为P7上返回的是4.4.2
Figure-\ref{figIOnicMyDemo}演示了整个代码在各个模块间的调用关系。完整的MyDemo的插件代码可以从github[3]上得到。
Figure 3. MyDemo插件逻辑流程
每个Plugin需要输出(export)的接口都需要使用module.exports的命令来完成。
var myApis = {};
myApis.foo1 = function(a,b) {
cordova.exec(...);
};
myApis.foo2 = function(a,b,c) {
cordova.exec(...);
};
MODULE.EXPORTS = MYAPIS;
2.3. 注意事项
不要直接修改Plugin中的Java代码,这个代码不参与编译。
原因: 第一次编译目标应用时,ionic会将Plugin中的Java代码copy到platform/下编译。但下次再进行编译的时候不会在copyrJava代码,所以参加编译的实际上只是platform/下的Java代码。
plugin中的js可以直接修改,而且每次重新编译都参加编译。
原因: ionic下的JS是在Cordova上封装了一层,所以每次编译,需要将ionic下的JS转换成Cordova JS才能正确工作
使用exec()中的service参数必需和插件plugin.xml中的featur定义的一致,否则会有class not found错误
报method not found异常, 插件中的js脚本未正确地使用module.exports声明
Further Reading
如何使用ionic打包android的apk
ionic打包apk主要分为几个步骤: 1、安装Java的JDK,并配置好环境变量 2、安装AndroidSDK,并配置好环境变量;这里JDK和andriodSDK的安装和配置都很重要,必须安装好JDK和AndroidSDK,才可以进行下面的打包,否则是打不了包的。 3、下载安装nodejs,这里的nodejs主要是要来对打包所需模块进行管理 4、使用命令:npm install -g cordava ionic来安装cordova和ionic 5、切换到刚才nodejs的安装根目录下,使用命令:ionic start myApp blank创建一个项目,其中myAPP是项目的名称,可以由自己命名,blank表示创建一个空项目 6、切换到刚才创建的项目myApp目录下面,cd myApp 7、ionic platform add android //该命令会创建一个platform目录,最后生成的apk是放在该目录下的 8、ionic build android //生成apk文件,至于apk具体的存放目录,打包成功时会有说明 经过上面几步的操作,ionic打包apk便已完成。
ionic开发 怎么调用第三方app
方法/步骤 1 进行以下操作前请确保电脑已经安装了nodejs。 2 安装Ionic CLI 打开mac的终端(Terminal),输入: sudo npm install -g ionic 回车后输入mac的用户密码,就可以把ionic CLI安装到全局位置 安装命令与安装结果如下: 3 安装cordova ...
ionic1 自定义插件如何调用
由于ionic是基于cordova进行插件管理的,在实际的项目过程中。有时候需要自定义插件来满足业务的需求。
1.安装好环境。
2.安装plugman:在终端输入 sudo npm install -g plugman。
3.新建一个插件:plugman create --name TestPL --plugin_id com.bwpl.TestPL
--plugin_version 0.1
4.添加平台,可以选择iOS或者是android。这里以iOS为例子。cd 到插件目录。执行命令行 plugman platform add
--platform_name ios
5.将插件添加到自己的工程。
6.添加完了之后就是开始调用,网上很多方法有误导人的倾向,也可能是自己js基础不好。使用plugman添加的工程不需要在去更改配置文件。直接调用。
ionic 怎样添加android 平台
1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm。
nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装即可。 Node官网:
node环境变量在安装过程中会自动配置,安装完成后在cmd中输入 npm -v 回车。如果出现版本号说明安装成功。
node安装参考:
2. 安装jdk并且配置环境变量,如果已经安装了jdk则跳过这步。
jdk下载地址:
安装完成以后配置环境变量:
JAVA_HOME:
JDK的安装路径,这个环境变量本身不存在,需要创建,创建完则可以利用%JAVA_HOME%作为统一引用路径,其值为:jdk在你电脑上的安装路径。
PATH:
PATH属性已存在,可直接编辑。作用是用于配置路径,简化命令的输入,其值为:%JAVA_HOME%\bin。
CLASSPATH:
用于编译时JAVA类的路径,注意这里设置的是两个值,(.;)表示的是JVM先搜索当前目录。其值为:.;%JAVA_HOME%\lib\tools.jar。
关于ionic调用java和ionic原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。