Android 调用本地文件中的 JS 方法

流程图

flowchart TD
    A(开发者) --> B(创建 WebView)
    B --> C(加载本地 HTML 文件)
    C --> D(添加 JS 接口)
    D --> E(JS 调用 Android 方法)
    E --> F(Android 调用 JS 方法)

步骤说明

  1. 创建 WebView:在 Android 应用中创建一个 WebView 控件,用于显示 HTML 页面。

  2. 加载本地 HTML 文件:将本地的 HTML 文件加载到 WebView 中显示。

  3. 添加 JS 接口:将 Android 代码暴露给 JavaScript,使得 JavaScript 可以调用 Android 方法。

  4. JS 调用 Android 方法:在 JavaScript 中调用 Android 方法。

  5. 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 方法。

以上是一种常见的实现方式,你可以根据实际需求进行扩展和调整。希望对你有所帮助!