2012-10-01 12 views
7

私は最近、SL4AでJRuby経由でAndroidのライブラリにアクセスする方法を模索してきました。私はRubotoでアプリケーションを設計することは可能ですが、現在のSL4Aが提供していないAPIにアクセスするための簡単なスクリプトを作成したいだけです。私は通常の瓶などをインポートすることができますが、私はAndroidのAPIを手に入れることができませんでした。具体的には、私は 'android.nfc'にアクセスしたいと思います。これを達成する方法はありますか?私はまだ理解していないか、または働かないことが可能ですか? SL4Aは、JRubyが直接APIブリッジを提供していると述べています。JRubyを使って直接Android Javaメソッドを呼び出す

おかげで、 クレメント

+0

android.nfcパッケージはandroid.jarに含まれているため、アクセスする必要があります。あなたが問題を抱えているgetSystemService(NFC_SERVICE)呼び出しですか? – theFunkyEngineer

答えて

0

は、あなたのJRubyのコードを含めることはできますか?クラスパスを正しく構築してから、java_importを実行していますか?

私はそれは次のものが含まれjava_jars.rb呼ばれ、私はすべての.rbのファイルに必要私のクラスパスに私のjarファイルを単にロードするためのRubyファイルを持っている:

Dir["target/dependency/\*.jar"].each { |jar| require jar } 

メインルビーファイルには、これを行います:

include Java 
require 'java_jars' 
java_import 'com.package.name.blah.ApiClassName' 

def methodName 
    apiObject = com.package.name.blah.ApiClassName.new 
    # don't forget methodName becomes method_name in JRuby 
    apiObject.method_name 
end 
関連する問題