Reputation: 1135
I would like to write an Android app to pass commands to an external camera whose SDK is available from the manufacturer's website. The SDK is C-based and the camera I/O is done through a mini-USB or mini-HDMI ports. This is a two part question:
Can Android-based smartphones send commands to external USB devices? I do know that they can access data from an external USB device.
Will C wrappers for Java (that work on laptops) work on Android-based smartphone?
Upvotes: 1
Views: 1737
Reputation: 121699
Q: Can Android-based smartphones send commands to external USB devices? I do know that they can access data from an external USB device.
A: Sure, as long as the device is connected via the Android USB port :)
Q: Will C ... work on Android-based smartphone?
A: With much effort, you can interface Java and C on android (analogous to JNI on other platforms). Look at the NDK docs for more details.
Q: Can I interface a binary C language library that's probably written for Windows, in i386 object code, from Java, on Android, running an ARM CPU?
A: Nope. It's more than just a different language. You're also dealing with a different platform, different object formats, and a completely different CPU architecture.
Your best bet is if the vendor can provide either a USB-level or message-level interface to the device. You're pretty much SOL with a binary .dll or .lib library interface.
Upvotes: 2