Android 调用本地文件中的 JS 方法
流程图
flowchart TD
A(开发者) --> B(创建 WebView)
B --> C(加载本地 HTML 文件)
C --> D(添加 JS 接口)
D --> E(JS 调用 Android 方法)
E --> F(Android 调用 JS 方法)
步骤说明
-
创建 WebView:在 Android 应用中创建一个 WebView 控件,用于显示 HTML 页面。
-
加载本地 HTML 文件:将本地的 HTML 文件加载到 WebView 中显示。
-
添加 JS 接口:将 Android 代码暴露给 JavaScript,使得 JavaScript 可以调用 Android 方法。
-
JS 调用 Android 方法:在 JavaScript 中调用 Android 方法。
-
Android 调用 JS 方法:在 Android 中调用 JavaScript 方法。
代码示例
1. 创建 WebView
在布局文件中添加 WebView 控件:
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在 Activity 或 Fragment 中获取 WebView 控件:
WebView webView = findViewById(R.id.webView);
2. 加载本地 HTML 文件
将本地的 HTML 文件放置在 assets
文件夹下,例如 assets/index.html
。
在 Activity 或 Fragment 中加载本地 HTML 文件:
webView.loadUrl("file:///android_asset/index.html");
3. 添加 JS 接口
创建一个用于与 JavaScript 交互的 Java 类:
public class JavaScriptInterface {
private Context mContext;
public JavaScriptInterface(Context context) {
mContext = context;
}
@JavascriptInterface
public void showToast(String message) {
Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();
}
}
在 Activity 或 Fragment 中为 WebView 添加 JS 接口:
webView.addJavascriptInterface(new JavaScriptInterface(this), "AndroidInterface");
4. JS 调用 Android 方法
在 JavaScript 中调用 Android 方法:
AndroidInterface.showToast("Hello, Android!");
5. Android 调用 JS 方法
在 Android 中调用 JavaScript 方法:
webView.evaluateJavascript("javascript:showMessage('Hello, JavaScript!');", null);
总结
通过以上步骤,我们可以实现 Android 调用本地文件中的 JS 方法。首先,我们创建一个 WebView 控件并加载本地的 HTML 文件。接着,我们为 WebView 添加 JS 接口,从而使得 JavaScript 可以调用 Android 方法。最后,我们可以在 JavaScript 中通过 JS 接口调用 Android 方法,或者在 Android 中通过 evaluateJavascript 方法调用 JavaScript 方法。
以上是一种常见的实现方式,你可以根据实际需求进行扩展和调整。希望对你有所帮助!