我听说有可能在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(希望可以提供所需的所有功能).