2016-05-09 7 views
2

私の質問は十分に簡単です。 Eclipse用のGluonのプラグインを使用していて、JavaFXでAndroid上で動作するアプリケーションを開発しています。しかし、私はAndroidライブラリ(.aar形式)を使用する必要があり、しばらくしてから試してみることができません。誰が私がこれをどうやってできるか知っていますか?私は既に.aarの中でclasses.jarを使ってみましたが、これはうまくいきました。ライブラリに欠けていると思われるものがいくつかあります。ありがとうございました。Gluon JavaFXPortsプロジェクトでAndroid aarライブラリを使用

編集:私が使用しようとしているライブラリがCloudRailで、ダウンロードは現在、classes.jar抽出からのクラスを使用すると、多少の機能here (Direct download) をですが、自分のライブラリーからのアクティビティが起動されたとき(com.cloudrail .si.servicecode.commands.awaitCodeRedirect.AuthenticationActivity)が表示されますが、空白で何も表示されません。私は現在、これが間違っていて、不足しているリソース/ファイルがこの原因であると仮定しています。

+0

この[質問](http://stackoverflow.com/questions/31155816/javafx-android-port-google-play-services)をチェックすると、おそらくそれが役に立ちます。それ以外の場合は、インポートする必要のあるライブラリの種類を記入してください。 –

+0

すべてのリンクが壊れています。それらを確認してください。 –

+0

私はJavaFXの専門家ではありませんが、Android用CloudRailはAndroid WebViewを使用して認証しています。 WebViewのJavaFXバージョンがあまり強力でなく、SDKが必要とする機能をサポートしていない可能性があります。 – Florian

答えて

3

私はclasses.jarをaarファイルから抽出し、Gluonプロジェクトに依存関係として追加しました。

次に、私がメインFXActivity後、AndroidManifest.xmlファイルにアクティビティを追加しました:

<activity android:name="com.cloudrail.si.servicecode.commands.awaitCodeRedirect.AuthenticationActivity" /> 

をそれから私は、Androidのパッケージでクラスを作成し、Googleドライブにアクセスするために必要な資格情報を提供します。

public AndroidTestAar() { 
    GoogleDrive cs = new GoogleDrive(FXActivity.getInstance(), "****","****"); 
    new Thread() { 
     @Override 
     public void run() { 
      List<CloudMetaData> metas = cs.getChildren("/"); 
      Log.i("info", "Folder has " + metas.size() + " children"); 
      for (CloudMetaData meta : metas) { 
       Log.i("info", "Child: " + meta.getName()); 
      } 
     } 
    }.start(); 
} 

このクラスは、ビューから呼び出されます。

public BasicView(String name) { 
    ... 
    button.setOnAction(e -> { 
     try { 
      Class c = Class.forName("com.testaar.AndroidTestAar"); 
      c.newInstance(); 
     } catch (ClassNotFoundException | InstantiationException | IllegalAccessException ex) {} 

    }); 
} 

私はAPKを展開し、それを実行することができます。

このアクティビティはAndroid WebViewのJavaFXアプリの外で実行されます。

まず、自分のユーザー/パスワードでサインインするように頼んだ後、オフラインアクセスを許可するかどうかを尋ねましたが、最終的にはすべてのファイルが正常に表示されました。

+1

だから、明らかになった。私が抱えていた問題は、実際には.aarを使用した問題のあらゆる種類に関連していません!私が新しいスレッドで認証しなかったことが原因で、間違いなく私は間違いを犯しました。あなたの時間を感謝します。 –

関連する問題