Для чего нельзя использовать NDK? - PullRequest
1 голос
/ 04 января 2011

С официального сайта NDK :

Android NDK ... обеспечивает Заголовки и библиотеки, которые позволяют вам для создания действий, обрабатывать пользователя вход, использовать аппаратные датчики, доступ ресурсы приложения и многое другое , при программировании на C или C ++. если ты написать нативный код, ваши приложения все еще упакованы в файл .apk и они все еще бегут в виртуальном машина на устройстве. Фундаментальный Модель приложения для Android не изменить.

Тем не менее, он всегда описывается как сопутствующий инструмент для Android SDK и как набор инструментов, который позволяет "реализовывать части ваших приложений с использованием языков с собственным кодом, таких как C и C ++ ".

Насколько я понимаю, в отличие от SDK на основе Java, NDK не предназначен для реализации определенных частей приложения Android.

Это правильно?

Если да, то какие части не NDK позволяет реализовать?

Ответы [ 2 ]

4 голосов
/ 04 января 2011

Важно отметить, что документация, на которую вы ссылаетесь, существовала еще до того, как ndk был способен справиться с такими вещами, как действия и тому подобное. Таким образом, в то время вам нужно было создать приложение для Android с помощью SDK, и, как минимум, вам нужно было создать класс-оболочку Java для событий жизненного цикла действия, который называется собственным кодом. Кроме того, если вам нужен звук или другие взаимодействия с пользователем, вам часто придется использовать sdk для этого.

Теперь, похоже, вы могли бы потенциально использовать NDK для всего приложения (хотя я еще не пробовал), но если вы хотите использовать стандартные элементы интерфейса, такие как список, для выбора файла игры Я бы все еще использовал SDK для этого.

0 голосов
/ 21 января 2011

Ознакомьтесь с NDK r5 (выпущен в декабре 2010 г.). Они добавили много поддержки нативного кодирования C ++, включая нативные действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...