2012-10-01 21 views
7

Recentemente ho esplorato come accedere alle librerie di Android tramite JRuby in SL4A. So che è possibile progettare app con Ruboto, ma voglio semplicemente raddrizzare un semplice script per accedere alle API che SL4A corrente non offre. Posso importare normali jar e simili ma non sono riuscito a ottenere l'API di Android. Nello specifico voglio accedere a 'android.nfc'. C'è un modo per realizzare ciò che non ho ancora capito o è possibile non lavorare; SL4A afferma tuttavia che JRuby offre un bridge API diretto.Utilizzo di JRuby per chiamare direttamente i metodi Java Android

Grazie, Clemente

+0

Il pacchetto android.nfc fa parte di android.jar, quindi dovresti essere in grado di accedervi. È la chiamata getSystemService (NFC_SERVICE) con cui si verificano problemi? – theFunkyEngineer

risposta

0

Riesci a includere il codice JRuby? Stai creando correttamente il tuo classpath e poi esegui anche java_import?

Ho un file rubino solo per caricare i miei vasi nel mio percorso di classe che ho bisogno in ogni file .RB chiamato java_jars.rb Contiene le seguenti:

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

poi nel file ruby ​​principale farlo :

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 
Problemi correlati