Разработка J2ME и нативный API - PullRequest
2 голосов
/ 04 июня 2009

Можно ли написать мобильное приложение с J2ME, и всякий раз, когда мы хотим реализовать функциональность, не предлагаемую J2ME, вызывать собственный мобильный API? (что-то вроде того, что делается с .NET, когда вам нужно что-то не предоставленное, вы просто вызываете Win32 API с платформы .NET).

Ответы [ 4 ]

3 голосов
/ 04 июня 2009

Хотя JNI официально не поддерживается в J2ME, реализация J2ME для Symbian, очевидно, использует нечто очень похожее.

Поскольку большинство API-интерфейсов J2ME имеют соответствующий API Symbian OS C ++, Symbian (во многом) разработал уровни адаптации между 2.

Между этим и новой модульной архитектурой виртуальной машины IBM J9 (начиная с 3-го выпуска Series60, начиная с 3-го выпуска, 2), технически возможно добавить новый API к виртуальной машине, фактически не требуя перекомпиляции большей части микропрограммы телефона. .

Однако сторонним разработчикам просто не разрешается делать это без большой помощи со стороны производителя телефона.

Соединение с обратной связью - это решение, которое люди обычно применяют для передачи данных через языковой барьер. Крупномасштабное развертывание - не самая легкая задача, поскольку технически необходимо установить на устройстве 2 приложения. Когда вы поймете модель многопоточности реализации Symbian J2ME, вы также поймете, насколько уродливым и неэффективным он является.

Когда вы решите проблему такого рода, пришло время изучить Symbian OS C ++ и сделать это правильно.

3 голосов
/ 04 июня 2009

Нет. Это невозможно с Java ME.

2 голосов
/ 04 июня 2009

Только вроде. На самом деле это возможно, но не напрямую. Вы можете написать собственный сервер, который прослушивает локальный сокет и отправлять запросы на него из вашего Java-мидлета. Кто-то даже выпустил фреймворк для этого, который называется MIDP-JNI (в отличие от реального JNI). Очевидно, что форма решения накладывает некоторые ограничения на то, что вы можете с ним сделать, но на самом деле это невозможно.

Помните, что использование этого подхода может сделать ваше приложение более сложным для отладки.

1 голос
/ 20 мая 2010

Если вы ищите Nokia / Symbian, то APIBridge http://wiki.forum.nokia.com/index.php/J2ME_API_Bridge_Interface может быть решением. Обычно это «официальная» версия «родного сервера на локальном сокете». APIBridge является «расширяемым», и вы можете написать свои собственные «плагины» для подходящей «низкоуровневой» задачи.

...