Главная » Разработка для Android » КОМПЛЕКТ ДЛЯ НАТИВНОЙ РАЗРАБОТКИ В ANDROID (NDK) в Android приложении

0

 

Интерфейс для нативной разработки на языке Java (JNI.) – это часть стандарта Java, позволяющий разработчикам писать его нативные методы на других языках, например на С или С++, и вызывать эти методы из кода Java. Эти возможности особенно полезны, когда мы пытаемся использовать функции, специфичные для конкретной платформы, либо извлекать выгоду из ее аппаратной части, например хотим ускорить численные расчеты, применяя расширения наборов команд модуля обработки операций с плавающей точкой или позволяя коду, выполняющему сложные графические операции, использовать API OpenGL. Рассматриваются основы JNI, данный материал предназначен для программистов, работающих с комплектом для нативной разработки в Android (Android NDK). Подробнее об этом – в документе Java Native Interface Specification (Спецификация нативно-го интерфейса Java) (http://docs.oracle.eom/javase/l.5.0/docs/guide/jni/).

Для реализации на языках С или С++ с применением NDK особенно подходят самодостаточные операции, интенсивно использующие процессор, которые не занимают много памяти, в частности обработка сигналов, моделирование физической среды и т. д. Если просто переписать отдельно взятый метод на языке С, это не слишком повысит производительность. Размышляя о том, следует ли прибегать при разработке к использованию нативного кода, подумайте о стоящих перед вами требованиях и проверьте, нет ли уже в Android SDK функции, которая вам нужна. Вы увидите, что в большинстве случаев такая функция там находится. Необходимо также отметить, что, хотя в настоящее время на большинстве платформ, поддерживающих Android, применяется процессор ARM, в будущем могут появиться и системы с другими процессорами (например, Atom). При использовании NDK ваш код будет невозможно портировать.

Именно при помощи JNI Android получает доступ к коду, написанному на языках С или С++, a Android NDK – необязательное дополнение к Android SDK, позволяющее применять в приложениях для Android код на этих языках. Чтобы максимально облегчить труд разработчику, привыкшему иметь дело с Java, JNI позволяет нативному методу использовать объекты Java так же, как они применялись бы и в коде на Java. Внутри нативного метода можно создавать, проверять и использовать объекты Java для решения конкретных задач. Эта же возможность проверки и применения объектов Java позволяет нативному методу использовать другие объекты Java, переданные методу от приложения на языке Java (в нашем случае – приложения Android).

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии