0

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-fileをビルドしようとすると、次のエラーが発生します

: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で作業するのは初めてです

4

1 に答える 1

1

まず、これらの依存関係を追加する必要はありません。jfxmobile プラグインが既にそれを行っています。

JavaFXPortsを使用して新しい JavaFX プロジェクトを作成するには、NetBeans 用の Glounプラグインを参照してください。

さて、この新しいプロジェクトで、Android コードを追加したい場合は、それを Android/Java パッケージに追加する必要があります。

開始する 1 つの方法は、既に指摘したように、HelloPlatformに従うことです。PlatformService実行しているプラ​​ットフォームに応じて、クラスをロードするための が含まれています。そのおかげで、AndroidPlatformProviderAndroidならロードできます。そのため、プラットフォームに関係なく、メイン クラスから呼び出したいメソッドを提供し、それらを各プラットフォームに (少なくともダミー コンテンツを使用して) 実装する必要があります。

Android コードを使用した完全なソリューションを提供するため、この質問を見ることもできます。

于 2015-06-29T18:48:40.683 に答える