Capacitor Android 插件指南
为 Android 构建 Capacitor 插件需要使用 Java 或 Kotlin 与 Android SDK 进行交互。
开始使用
首先,按照插件指南的 开始使用 部分生成一个插件。
接着,在 Android Studio 中打开 echo/android/ 目录。然后你需要找到插件的 .java 文件,具体路径取决于创建插件时使用的 Plugin ID 和 Plugin Class Name。
例如,对于 ID 为 com.domain.echo 且 Plugin Class Name 为 Echo 的插件,你可以在 android/src/main/java/com/domain/echo/EchoPlugin.java 找到 .java 文件。
使用 Kotlin
Capacitor 默认使用 Java,但如果你喜欢,也可以使用 Kotlin。
生成插件后,在 Android Studio 中右键点击 Java 插件类,从菜单中选择“Convert Java file to Kotlin file”选项。Android Studio 会引导你配置项目以支持 Kotlin。完成后,再次右键点击 Java 类,重新选择转换选项将其转换为 Kotlin 类。
插件基础
Android 的 Capacitor 插件是一个简单的 Java 类,它继承自 com.getcapacitor.Plugin 并带有 @CapacitorPlugin() 注解。该类包含一些带有 @PluginMethod() 注解的方法,这些方法可以从 JavaScript 调用。
生成插件后,你可以通过打开生成器中选择的 Plugin 类名对应的文件来开始编辑。
简单示例
在生成的示例中,有一个简单的 echo 插件,其中包含一个 echo 函数,它只是返回接收到的值。
这个示例展示了 Capacitor 插件的几个核心组件:从插件调用接收数据,以及将数据返回给调用者。
EchoPlugin.java
package android.plugin.test;
import com.getcapacitor.JSObject;
import com.getcapacitor.Plugin;
import com.getcapacitor.PluginCall;
import com.getcapacitor.PluginMethod;
import com.getcapacitor.annotation.CapacitorPlugin;
@CapacitorPlugin(name = "Echo")
public class EchoPlugin extends Plugin {
@PluginMethod()
public void echo(PluginCall call) {
String value = call.getString("value");
JSObject ret = new JSObject();
ret.put("value", value);
call.resolve(ret);
}
}