Я могу сделать программирование Android в C++, C? Если ответ - "да", затем скажите как? И что должна настроить процедура?
Я не знаю Obj-C, Java, но сведущий в C, C++, Flash AS3, SDK, выпущенный Google.
Не говорите о SDK NVDIA, он не полностью разрабатывается :)
ОБРАТИТЕ ВНИМАНИЕ: ПРИВЕДЕННЫЙ НИЖЕ ОТВЕТ УЖАСНО УСТАРЕЛ И МОЖЕТ БЫТЬ БОЛЬШЕ ПОЛНОСТЬЮ НЕПРАВИЛЬНЫМ.
Вы можете программировать на C / C ++, используя Android NDK . Вам нужно будет обернуть свою кодовую базу C ++ в статическую библиотеку и загрузить ее через оболочку Java и JNI.
Стандартный NDK не поддерживает RTTI, и многие функции стандартного C ++ также недоступны, такие как std :: string и т. Д. Чтобы решить эту проблему, вы можете перекомпилировать NDK. Дмитрий Москальчук предоставляет модифицированную версию NDK, которая поддерживает это, по адресу http://www.crystax.net/android/ndk-r3.php . Эта модифицированная версия работает на всех телефонах Android, работающих на процессоре ARM.
В зависимости от типа приложения вы должны решить использовать Java или C / C ++. Я бы использовал C / C ++ для всего, что требует вычислительной мощности и игр выше среднего - Java для всего остального.
Просто выберите один язык и напишите на нем большую часть вашего приложения; Вызовы JNI могут значительно снизить вашу производительность. Однако Java не так уж и сложна - если вы умеете программировать на C / C ++. Преимущество Java заключается в том, что приложение может работать на любом устройстве под управлением Android, а приложения NDK зависят от архитектуры, для которой оно было скомпилировано.
Да, вы можете программировать приложения для Android на C++ (по большей части), используя Native Development Kit (NDK), хотя Java является основным/предпочтительным языком для программирования Android, и ваш код на C++, вероятно, должен будет взаимодействовать с компонентами Java, и вам, вероятно, придется читать и понимать документацию для компонентов Java. Поэтому я бы посоветовал вам использовать Java, если только у вас нет существующей базы кода C++, которую вам нужно перенести и которую нецелесообразно переписывать на Java.
Java очень похожа на C++, я не думаю, что у вас возникнут проблемы с ее освоением... перейти с C++ на Java невероятно просто; перейти с Java на C++ немного сложнее, хотя и не страшно. Java для программистов на C++ делает довольно хорошую работу по объяснению различий. Написание кода Android на Java будет более идиоматичным и облегчит процесс разработки (поскольку инструментарий для Java Android SDK значительно лучше, чем соответствующий инструментарий для NDK)
Что касается настройки, Google предоставляет Android Studio IDE для разработки Android на Java и C++ (с Gradle в качестве системы сборки), но вы можете использовать любую IDE или систему сборки, если под капотом вы используете Android SDK / NDK для получения конечных результатов.
Вы должны использовать Android NDK для разработки критически важных для производительности частей ваших приложений в машинном коде. См. Android NDK .
В любом случае, я не думаю, что это правильный способ разработки всего приложения.