Это хорошая идея для реализации USB-связи в Java с использованием интерфейса JNI, где родной язык - c или c ++? - PullRequest
2 голосов
/ 08 ноября 2011

У меня есть требование для осуществления связи USB в телефоне andriod. Я искал последние 10 дней, я узнал, что это трудно реализовать в JAVA. так что я подумал об использовании интерфейса JNI и реализации кода на c или c ++ и связывании этого в JAVA. эй, я новичок в JNI, так что, если я пропустил какие-либо условия или сделал ошибку, извините. но любой может предложить это или может дать мне альтернативное решение для реализации этого.

Ответы [ 2 ]

2 голосов
/ 08 ноября 2011

Когда вы подключаете телефон Android к компьютеру с помощью USB-кабеля, он будет отображаться как стандартное съемное запоминающее устройство. Начиная с ПК, копирование файлов настолько же просто, насколько это возможно. Со стороны Android вы ничего не можете сделать - было бы серьезным недостатком безопасности, если бы устройство могло произвольно записывать файлы на ваш компьютер. Я бы предложил изменить ваш шаблон проектирования и выполнить операцию копирования файла с помощью программного обеспечения на ПК.

Если вы пытаетесь реализовать какую-то передачу данных между телефоном и ПК на основе файлов, я бы предложил перейти на более подходящую модель, например, TCP-сокеты.

И файл, и модель сокетов должны быть относительно просты для реализации в Java на ПК.

2 голосов
/ 08 ноября 2011

Как правило - не используйте JNI, если нет необходимости.JNI отлично подходит для обработки чисел и поднятия тяжестей, как алгоритмы.Если ваше USB-соединение не использует шифрование и другие интересные вещи, я настоятельно рекомендую вам не использовать его.

Прежде всего, использование вызовов API намного сложнее при использовании JNI.Кроме того, отладку будет намного сложнее, в вашем распоряжении будет меньше инструментов для отладки кода, и вы с большей вероятностью будете вводить ошибки.

...