私はNetbeansとGradleを使ってJavaFXプロジェクトをAndroid APKファイル形式に移植しようとしていました。私が抱えている問題は特にAndroidのWebViewコンポーネントにありますか?私のアプリが致命的な例外で転倒することなく、AndroidのWebviewに静的なWebページを表示することができます。 JavaScriptを使用してJavaFX Webviewで動的Webページを作成すると、Androids Webviewはまったく対応していないようです。 JavaFXのでは本家のJavaFX WebviewとAndroidのWebviewとの互換性はありますか?
私がtrueにはJavaScriptを有効に設定します。
googleMapEngine.setJavaScriptEnabled(true);
私は、AndroidのWebViewでいることを承知しているとして - JavaScriptはデフォルトではオフになって。 Androidで動作させることができません。さらに、Android WebviewはJavaFXコマンドの解決方法を知っていますか?
googleMapEngine.executeScript(String);
原因私がしようとした場合、この:私はlogcatでエラーで終わる
googleMapEngine.executeScript(
"var latlng = new google.maps.LatLng(59.438722, 24.745278);" +
"var myOptions = {" +
"zoom: 15," +
"center: latlng," +
"mapTypeId: google.maps.MapTypeId.ROADMAP," +
"mapTypeControl: false," +
"navigationControl: false," +
"streetViewControl: false," +
"backgroundColor: '#666970'," +
"disableDefaultUI: true" +
"};" +
"" +
"var map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);");
:
I/System.out( 809): [JVDBG] Error firing event
W/System.err( 809): java.lang.ClassNotFoundException: com.sun.webkit.NativeWebView
W/System.err( 809): at java.lang.Class.classForName(Native Method)
W/System.err( 809): at java.lang.Class.forName(Class.java:309)
W/System.err( 809): at com.oracle.dalvik.InternalWebView._fireLoadEvent(InternalWebView.java:347)
W/System.err( 809): at com.oracle.dalvik.InternalWebView.fireLoadEvent(InternalWebView.java:140)
W/System.err( 809): at com.oracle.dalvik.InternalWebView.access$400(InternalWebView.java:43)
W/System.err( 809): at com.oracle.dalvik.InternalWebView$MyJavaScriptInterface.processHTML(InternalWebView.java:363)
W/System.err( 809): at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/System.err( 809): at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39)
W/System.err( 809): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err( 809): at android.os.Looper.loop(Looper.java:145)
W/System.err( 809): at android.os.HandlerThread.run(HandlerThread.java:61)
W/System.err( 809): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sun.webkit.NativeWebView" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
W/System.err( 809): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 809): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
W/System.err( 809): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
W/System.err( 809): ... 11 more
W/System.err( 809): Suppressed: java.lang.ClassNotFoundException: com.sun.webkit.NativeWebView
W/System.err( 809): at java.lang.Class.classForName(Native Method)
W/System.err( 809): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
W/System.err( 809): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
W/System.err( 809): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
W/System.err( 809): ... 12 more
W/System.err( 809): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
E/AndroidRuntime( 809): FATAL EXCEPTION: JavaFX Application Thread
E/AndroidRuntime( 809): Process: com.SundaeThePugApp, PID: 809
E/AndroidRuntime( 809): java.lang.UnsupportedOperationException: Not supported yet.
E/AndroidRuntime( 809): at com.sun.webkit.WebPage.executeScript(WebPage.java:153)
E/AndroidRuntime( 809): at javafx.scene.web.WebEngine.executeScript(WebEngine.java:860)
E/AndroidRuntime( 809): at com.SundaeThePugApp.SundaeThePugController$1.changed(SundaeThePugController.java:202)
E/AndroidRuntime( 809): at com.SundaeThePugApp.SundaeThePugController$1.changed(SundaeThePugController.java:200)
E/AndroidRuntime( 809): at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
E/AndroidRuntime( 809): at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
E/AndroidRuntime( 809): at javafx.beans.property.ReadOnlyObjectWrapper$ReadOnlyPropertyImpl.fireValueChangedEvent(ReadOnlyObjectWrapper.java:176)
E/AndroidRuntime( 809): at javafx.beans.property.ReadOnlyObjectWrapper.fireValueChangedEvent(ReadOnlyObjectWrapper.java:142)
E/AndroidRuntime( 809): at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
E/AndroidRuntime( 809): at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
E/AndroidRuntime( 809): at javafx.scene.web.WebEngine$LoadWorker.updateState(WebEngine.java:1023)
E/AndroidRuntime( 809): at javafx.scene.web.WebEngine$LoadWorker.dispatchLoadEvent(WebEngine.java:1134)
E/AndroidRuntime( 809): at javafx.scene.web.WebEngine$LoadWorker.access$1000(WebEngine.java:1016)
E/AndroidRuntime( 809): at javafx.scene.web.WebEngine$PageLoadListener.dispatchLoadEvent(WebEngine.java:1003)
E/AndroidRuntime( 809): at com.sun.webkit.WebPage.fireLoadEvent(WebPage.java:251)
E/AndroidRuntime( 809): at com.sun.webkit.NativeWebView$1.run(NativeWebView.java:100)
E/AndroidRuntime( 809): at com.sun.javafx.application.PlatformImpl.lambda$null$155(PlatformImpl.java:295)
E/AndroidRuntime( 809): at com.sun.javafx.application.PlatformImpl.access$lambda$18(PlatformImpl.java)
E/AndroidRuntime( 809): at com.sun.javafx.application.PlatformImpl$$Lambda$19.run(Unknown Source)
E/AndroidRuntime( 809): at java.security.AccessController.doPrivileged(AccessController.java:52)
E/AndroidRuntime( 809): at com.sun.javafx.application.PlatformImpl.lambda$runLater$156(PlatformImpl.java:294)
E/AndroidRuntime( 809): at com.sun.javafx.application.PlatformImpl.access$lambda$5(PlatformImpl.java)
E/AndroidRuntime( 809): at com.sun.javafx.application.PlatformImpl$$Lambda$6.run(Unknown Source)
E/AndroidRuntime( 809): at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
E/AndroidRuntime( 809): at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
E/AndroidRuntime( 809): at java.lang.Thread.run(Thread.java:818)
V/ApplicationPolicy(3468): isApplicationStateBlocked userId 0 pkgname com.SundaeThePugApp
V/ApplicationPolicy(3468): isApplicationStateBlocked userId 0 pkgname com.SundaeThePugApp
V/ApplicationPolicy(3468): isApplicationStateBlocked userId 0 pkgname com.sec.android.app.launcher
すべてのフィードバックが最も歓迎されるだろう
:)
Java.lang.ClassNotFoundException:com.sun.webkit.NativeWebView これは、このクラスがプロジェクトに存在しないことを意味します。つまり、関連するjarをインポートする必要があります。残りの問題がわからないので、これが正しい軌道に乗るのを助けてくれることを願っています。 – XaolingBao