2012-10-01 22 views
7

Ostatnio odkryłem, jak uzyskać dostęp do bibliotek Androida za pomocą JRuby w SL4A. Wiem, że możliwe jest projektowanie aplikacji za pomocą Ruboto, ale po prostu chcę naprawić prosty skrypt, aby uzyskać dostęp do interfejsów API, których aktualnie nie oferuje SL4A. Mogę importować normalne słoiki i takie, ale nie udało mi się uzyskać interfejsu API Androida. W szczególności chcę uzyskać dostęp do "android.nfc". Czy jest jakiś sposób, aby to osiągnąć, o czym jeszcze nie wiedziałem, czy można nie działać; SL4A stwierdza, że ​​JRuby oferuje jednak bezpośredni mostek API.Używanie JRuby do bezpośredniego wywoływania metod Java w języku Java

Dzięki Clement

+0

Pakiet android.nfc jest częścią pliku android.jar, więc powinieneś mieć do niego dostęp. Czy jest to wywołanie getSystemService (NFC_SERVICE), z którym masz problem? – theFunkyEngineer

Odpowiedz

0

można umieścić swój kod JRuby? Czy budujesz prawidłowo ścieżkę klas, a następnie robisz także plik java_import?

Mam plik ruby ​​tylko do ładowania moich słoików do mojego ścieżki klasy, że wymagają w każdym pliku .rb zwanego java_jars.rb zawiera następujące:

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

następnie w głównym pliku ruby ​​to zrobić :

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 
Powiązane problemy