2012-10-01 13 views
7

He estado explorando recientemente cómo acceder a las bibliotecas de Android a través de JRuby en SL4A. Sé que es posible diseñar aplicaciones con Ruboto, pero solo quiero corregir un script simple para acceder a las API que SL4A actual no ofrece. Puedo importar jarras normales pero no he podido obtener la API de Android. En específico, quiero acceder a 'android.nfc'. ¿Hay alguna manera de lograr esto que aún no he descubierto o es posible que no funcione? SL4A afirma que JRuby ofrece un puente API directo sin embargo.Uso de JRuby para llamar directamente a los métodos Java de Android

Gracias, Clemente

+0

El paquete android.nfc es parte de android.jar, por lo que debería poder tener acceso a él. ¿Es la llamada getSystemService (NFC_SERVICE) con la que está teniendo problemas? – theFunkyEngineer

Respuesta

0

¿Se puede incluir su código jruby? ¿Estás construyendo tu classpath correctamente y luego haciendo java_import también?

Tengo un archivo de rubí sólo para cargar mis frascos en mi ruta de clases que requiero en todos los archivos .rb llamada java_jars.rb Contiene los siguientes:

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

a continuación en el archivo principal de rubí hacer esto :

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 
Cuestiones relacionadas