Подтвердить что ты не робот

Могу ли я программировать на Android в С++, C?

Могу ли я программировать на Android в С++, C? Если ответ "да", пожалуйста, расскажите, как? И какую процедуру настроить?

Я не знаю Obj-C, Java, но хорошо разбираюсь в C, С++, Flash AS3, SDK, выпущенном Google.

Пожалуйста, не рассказывайте о SDK NVDIA, который он не полностью разработал:)

4b9b3361

Ответ 1

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: ОТВЕТ ОТ НИЖЕ УЖАСНО НАРУШЕН, И НЕ МОЖЕТ БЫТЬ ПОЛНОСТЬЮ ПРАВИЛЬНО ЛЮБОЙ.

Вы можете программировать на C/С++ с помощью Android NDK. Вам придется обернуть свою базу данных С++ в статическую библиотеку и загрузить ее через оболочку Java и JNI.

Стандартный NDK не поддерживает RTTI, и многие функциональные возможности стандартного С++ также недоступны, например std::string и т.д. Чтобы решить эту проблему, вы можете перекомпилировать NDK. Дмитрий Москальчук поставляет модифицированную версию NDK, которая поддерживает это в http://www.crystax.net/android/ndk-r3.php. Эта модифицированная версия работает на всех телефонах Android, работающих на процессоре ARM.

В зависимости от типа приложения вы должны решить использовать Java или C/С++. Я бы использовал C/С++ для чего-то, что требует выше средней вычислительной мощности и игр - Java для остальных.

Просто выберите один язык и напишите большую часть своего приложения на этом языке; JNI-вызовы могут значительно снизить производительность. Java - это не так сложно - если вы знаете, как программировать на C/С++. Преимущество Java заключается в том, что приложение может работать на любом устройстве под управлением Android, где приложения NDK зависят от архитектуры, в которой она была скомпилирована.

Ответ 2

Вы должны использовать Android NDK для разработки критически важных частей ваших приложений в собственном коде. Смотрите Android NDK.

В любом случае, я не думаю, что это правильный способ разработки целого приложения.

Ответ 3

Да, вы можете программировать приложения Android на С++ (по большей части), используя Native Development Kit (NDK), хотя Java является основным/предпочтительным языком для программирования Android, и ваш код на С++, вероятно, должен взаимодействовать с компонентами Java, и вам, вероятно, также потребуется прочитать и понять документацию для компонентов Java. Поэтому я бы посоветовал вам использовать Java, если у вас нет какой-либо существующей базы данных кода на С++, которую необходимо использовать для переноса, и это нецелесообразно переписывать в Java.

Java очень похожа на С++, я не думаю, что у вас возникнут проблемы с ее выбором... переход от С++ к Java невероятно прост; переход от Java к С++ немного сложнее, хотя и не страшно. Java для С++ Programmers неплохо справляется с объяснением различий. Написание кода Android на Java будет более идиоматичным, а также упростит процесс разработки для вас (поскольку инструментарий для Java Android SDK значительно лучше, чем соответствующий инструмент NDK)

В плане настройки Google предоставляет Android Studio IDE для разработки на Java и С++ Android (с Gradle в качестве системы сборки), но вы можете свободно использовать любую IDE или систему сборки, если хотите, под капотом, вы используете Android SDK/NDK для получения окончательных выходов.

Ответ 4

Вы должны посмотреть MoSync, MoSync дает вам стандартные C/С++, простые в использовании хорошо документированные API, и полнофункциональную среду IDE на основе Eclipse. Его теперь открытая среда IDE все еще довольно крутая, но не поддерживается больше.

Ответ 5

Вы также можете посмотреть на С++ Builder XE6, а XE7 поддерживает android в коде С++ и в библиотеке Firemonkey.

http://www.embarcadero.com/products/cbuilder

Довольно простой способ запуска и собственный код. Но двоичные файлы имеют большой размер.

Ответ 6

Существует более одной библиотеки для работы на С++ в Android-программировании:

  • С++ - qt (продукт Nokia, также доступный как LGPL)
  • С++ - Wxwidget (доступен как GPL)