我听说有可能在 Android 上启动 JavaFx 项目。
那么,是否可以使用强大的 JavaFx WebView 组件来代替 Android WebView?
最佳答案
显然(令我惊讶的是),您似乎可以从 Android(或 iOS)应用程序使用 JavaFX WebView API。
JavaFXPorts includes some documentation哪个links to some sample projects ,其中一个名为 webdemo 并演示了在移植环境(例如 Android 或 iOS)中使用 WebView API。
- 链接到 webdemo source .
我鼓励您按照 JavaFXPorts 文档来构建和部署 webdemo 项目。我自己还没有尝试过。
一些背景和假设
不知道移植环境下WebView的底层实现是什么。对于桌面环境,Oracle 维护了 webkit 代码的修改分支,用作 WebView 的 WebEngine 的底层实现。此修改后的实现使用 JavaFX 工具包进行所有呈现操作,因此按钮和选择框等无样式的 UI 元素在嵌入式 WebView 中的 JavaFX 中看起来相同。修改后的实现还使用 Java 网络代码而不是 WebKit 网络代码,并且可能还有许多其他修改。
我的猜测是,在端口代码中,没有使用桌面系统中修改后的 WebKit 代码库,而是通过它们的 API 使用 Android 和 iOS 附带的 WebKit 实现(但这是一个猜测,我确实这样做了)不知道)。无论如何,从开发人员的角度来看,似乎可以忽略实际的实现,您可以使用 JavaFX 中内置的 WebView API 获得嵌入式 Web 浏览器。这使您的代码可以在不同环境中轻松移植和执行。作为应用程序开发人员,您不必直接为 iOS 或 Android 嵌入式 Web 浏览器 API 编写代码,而只需坚持使用跨平台 Java API(希望它能提供您需要的所有功能)。
关于android - Android 上的 JavaFx WebView 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33357569/