2012-10-01 28 views
7

Gần đây tôi đã khám phá cách truy cập Thư viện của Android thông qua JRuby trong SL4A. Tôi biết có thể thiết kế ứng dụng với Ruboto, nhưng tôi chỉ muốn một kịch bản đơn giản để truy cập các API mà SL4A hiện tại không cung cấp. Tôi có thể nhập khẩu bình thường và như vậy nhưng tôi đã không thể nhận được API của Android. Cụ thể là tôi muốn truy cập 'android.nfc'. Có cách nào thực hiện được điều này mà tôi chưa tìm ra hay không thể làm việc được; SL4A nói rằng JRuby cung cấp một cầu nối API trực tiếp.Sử dụng JRuby để gọi trực tiếp Phương thức Java Android

Xin cảm ơn, Clement

+0

Gói android.nfc là một phần của android.jar, vì vậy bạn sẽ có thể truy cập nó. Có phải cuộc gọi getSystemService (NFC_SERVICE) mà bạn đang gặp sự cố không? – theFunkyEngineer

Trả lời

0

Bạn có thể đưa mã Jruby của mình không? Bạn đang xây dựng classpath của bạn đúng cách và sau đó làm java_import là tốt?

Tôi có một tập tin ruby ​​chỉ cho tải lên lọ của tôi vào classpath của tôi mà tôi yêu cầu trong mỗi tập tin rb gọi java_jars.rb nó chứa những điều sau đây:

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

sau đó trong file ruby ​​chính làm điều này :

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 
Các vấn đề liên quan