Вызов библиотеки Java из Objective C на Mac
-
10-07-2019 - |
Вопрос
Я хочу создать собственное приложение Mac OS X, используя Cocoa + Objective C, но мне нужно подключиться к частному источнику данных, и для этого владелец источника данных предоставляет только библиотеку Java. Поэтому мне нужно каким-то образом импортировать эту библиотеку Java в мой проект и вызывать функции для ее классов Java (или создать оболочку Java вокруг этой библиотеки, а затем вызвать мою оболочку из target-C).
Теперь, как я могу это сделать? Быстрый поиск в Google приводит меня к JNI, но я не нашел ни одной хорошей и актуальной (текущей) статьи / учебника. Мне действительно нужна статья HOW TO, как загрузить эту библиотеку Java, запустить VM, если это необходимо, и как создавать объекты Java и вызывать на них функции. На самом деле что-то простое, и я могу двигаться оттуда. Спасибо.
Просто для пояснения, я повторяю: Я ХОЧУ вызывать функции Java из Objective-C, я НЕ хочу вызывать нативные функции из Java.
Решение
Вы, вероятно, ищете API вызова , малоизвестный уголок Собственный интерфейс Java (JNI) который позволяет загружать среду выполнения Java в процессе.
Тем не менее, вам может быть проще с приложением-службой Java, которое обменивается данными с приложением Objective-C через сетевые сокеты .
Другие советы
Вы ищете мост Java-Objective C, попробуйте посмотрите эту статью или на сайте разработчика Apple. Имейте в виду, что это устарело, то есть оно не обновляется с изменениями в Какао. Но если вы просто используете его для API, передающего стандартные типы данных Java, у вас должно быть все в порядке.