需要搭建一個 javascript 運行環(huán)境兑徘,好處一些寫在 javascript 項目中代碼我們可以在 android 項目中復用露氮,例如校驗,解析和一些業(yè)務(wù)邏輯近哟。具體在產(chǎn)品中如何使用還是根據(jù)實際情況而定盐股。
1. 安裝 javascript 運行環(huán)境
有兩種方式可以將js-evaluator-for-android引入到項目中
- 第一方式
- 在項目的 build.gradle 文件中添加依賴倉圖
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
- 在模塊的 build.gradle 文件中添加依賴
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Keep you existing dependencies here
implementation 'com.github.evgenyneu:js-evaluator-for-android:v5.0.0'
}
- 在本地直接引入 jsevaluator-1.0.aar 文件
- 下載 jsevaluator-1.0.aar 文件
- 編譯文件钱豁,在項目的 build.gradle 文件里
dependencies {
implementation(name:'jsevaluator-1.0', ext:'aar')
}
2. 如何使用使用
jsEvaluator.evaluate("2 * 17", new JsCallback() {
@Override
public void onResult(String result) {
// Process result here.
// This method is called in the UI thread.
}
@Override
public void onError(String errorMessage) {
// Process JavaScript error here.
// This method is called in the UI thread.
}
});
JavaScript 被執(zhí)行的是異步的
對 JavaScript 進行執(zhí)行不會影響到 UI 線程因為這一切都是異步的。 執(zhí)行結(jié)果會返回到 UI 線程疯汁。It is required to call evaluate and callFunction in UI thread.