带有 Android - Api 的 Javafx
Javafx with Android - Api
我正在尝试在 JavaFx 项目中使用 Android 特定代码。我在 JavaFX 上写了一个小游戏,当我使用 JavaFX-Ports 时,我可以 运行 在我的 Android Handy 上玩这个游戏。现在我想展示一些广告,为此我必须使用 FXActivity 作为上下文。
我导入了 FXActivity
import javafxports.android.FXActivity;
然后我得到这个错误:
D:\Martin\Programmieren\fx to android\Trio\src\main\java\net \hagh\Main.java:18:
error: package javafxports.android does not exist
import javafxports.android.FXActivity;
^
1 error
:compileJava FAILED
现在我将 jfxdvk.jar 和 android.jar(来自 Android-SDK)添加到我的依赖项中,现在我的 build.gradle 文件如下所示:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b9'
}
}
apply plugin: 'org.javafxports.jfxmobile'
mainClassName = 'net.hagh.Main'
dependencies {
compile files("D:/Programmieren/fx to android/dalvik-sdk/rt/lib/ext/jfxdvk.jar", "C:/Users/Martin/AppData/Local/Android/android-sdk/platforms/android-22/android.jar")
}
repositories {
jcenter()
}
和之前一样的错误...
我做错了什么,我该如何做对?我搜索了很长时间的解决方案,但有太多不同的教程,我认为其中大部分都已经过时了。
谁能给我一个正确的 build.gradle 文件?
我找到了这个例子:https://bitbucket.org/javafxports/samples/src/56e2050ef9e1/HelloPlatform/?at=default 我认为这是正确的做法。但是我不明白如何以这种方式使用 FXActivity
编辑:我为此
开了一个新的
NetBeans 的 Gluon 插件和 HelloPlatform 示例帮助了我,但现在我想使用 Google-Play-Services 来显示添加。
将此添加到我的 build.gradle 文件中:
repositories {
def androidHome = System.getenv("ANDROID_HOME")
maven { url "$androidHome/extras/android/m2repository/" }
maven { url "$androidHome/extras/google/m2repository/"}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.android.gms:play-services-ads:7.5.0'
}
并且在我的 AndroidManifest.xml 中添加了:
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
当我尝试构建 apk 文件时,我遇到了下一个错误
:processAndroidResources UP-TO-DATE
C:\Users\Martin\Documents\NetBeansProjects\Trio\build\javafxports\tmp\android\AndroidManifest.xml:27: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
:processAndroidAndroidResources FAILED
我搜索了一下,发现我应该包括 google-play-services_lib 但我不知道如何。这是我第一次使用 gradle
对于初学者,您不需要添加这些依赖项:jfxmobile 插件已经为您完成了。
您可以查看 NetBeans 的 Gloun plugin,以使用 JavaFXPorts 创建一个新的 JavaFX 项目。
现在,在这个新项目中,如果要添加一些 Android 代码,则必须将其添加到 Android/Java 包中。
正如您已经指出的那样,开始的一种方法是遵循 HelloPlatform。它包括一个 PlatformService
来为您加载 class,具体取决于您使用的平台 运行。多亏了这一点,如果你在 Android,你可以加载 AndroidPlatformProvider
。因此,无论平台如何,您都必须提供要从主 class 调用的方法,并在每个平台上实现它们(至少使用虚拟内容)。
您还可以查看此 ,因为它提供了包含 android 代码的完整解决方案。
我正在尝试在 JavaFx 项目中使用 Android 特定代码。我在 JavaFX 上写了一个小游戏,当我使用 JavaFX-Ports 时,我可以 运行 在我的 Android Handy 上玩这个游戏。现在我想展示一些广告,为此我必须使用 FXActivity 作为上下文。
我导入了 FXActivity
import javafxports.android.FXActivity;
然后我得到这个错误:
D:\Martin\Programmieren\fx to android\Trio\src\main\java\net \hagh\Main.java:18:
error: package javafxports.android does not exist
import javafxports.android.FXActivity;
^
1 error
:compileJava FAILED
现在我将 jfxdvk.jar 和 android.jar(来自 Android-SDK)添加到我的依赖项中,现在我的 build.gradle 文件如下所示:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b9'
}
}
apply plugin: 'org.javafxports.jfxmobile'
mainClassName = 'net.hagh.Main'
dependencies {
compile files("D:/Programmieren/fx to android/dalvik-sdk/rt/lib/ext/jfxdvk.jar", "C:/Users/Martin/AppData/Local/Android/android-sdk/platforms/android-22/android.jar")
}
repositories {
jcenter()
}
和之前一样的错误...
我做错了什么,我该如何做对?我搜索了很长时间的解决方案,但有太多不同的教程,我认为其中大部分都已经过时了。 谁能给我一个正确的 build.gradle 文件?
我找到了这个例子:https://bitbucket.org/javafxports/samples/src/56e2050ef9e1/HelloPlatform/?at=default 我认为这是正确的做法。但是我不明白如何以这种方式使用 FXActivity
编辑:我为此
开了一个新的NetBeans 的 Gluon 插件和 HelloPlatform 示例帮助了我,但现在我想使用 Google-Play-Services 来显示添加。 将此添加到我的 build.gradle 文件中:
repositories {
def androidHome = System.getenv("ANDROID_HOME")
maven { url "$androidHome/extras/android/m2repository/" }
maven { url "$androidHome/extras/google/m2repository/"}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.android.gms:play-services-ads:7.5.0'
}
并且在我的 AndroidManifest.xml 中添加了:
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
当我尝试构建 apk 文件时,我遇到了下一个错误
:processAndroidResources UP-TO-DATE
C:\Users\Martin\Documents\NetBeansProjects\Trio\build\javafxports\tmp\android\AndroidManifest.xml:27: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
:processAndroidAndroidResources FAILED
我搜索了一下,发现我应该包括 google-play-services_lib 但我不知道如何。这是我第一次使用 gradle
对于初学者,您不需要添加这些依赖项:jfxmobile 插件已经为您完成了。
您可以查看 NetBeans 的 Gloun plugin,以使用 JavaFXPorts 创建一个新的 JavaFX 项目。
现在,在这个新项目中,如果要添加一些 Android 代码,则必须将其添加到 Android/Java 包中。
正如您已经指出的那样,开始的一种方法是遵循 HelloPlatform。它包括一个 PlatformService
来为您加载 class,具体取决于您使用的平台 运行。多亏了这一点,如果你在 Android,你可以加载 AndroidPlatformProvider
。因此,无论平台如何,您都必须提供要从主 class 调用的方法,并在每个平台上实现它们(至少使用虚拟内容)。
您还可以查看此