Быстрый вопрос по поводу программирования на Android - PullRequest
1 голос
/ 14 февраля 2011

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

Но, похоже, он использует много XML и Java .....Хотя я удивляюсь, почему Android написан в основном на C и XML (вместе с C ++ и Java), и он тесно связан с ОС Linux ...... но почему это "основной" язык для программирования?в андроиде Java?

Просто из любопытства конечно.

Ответы [ 3 ]

1 голос
/ 14 февраля 2011

Я просто догадываюсь, но Java немного легче программировать, чем C / C ++, поэтому он более привлекателен для новых программистов, что также хорошо для успеха самой платформы.

Другая причина может заключаться в том, что приложение написанов Java работает в отдельной виртуальной машине, так что это может быть гораздо проще контролировать с помощью Android.Если виртуальная машина не отвечает, основная ОС может просто убить ее, а телефон продолжает отвечать.

1 голос
/ 14 февраля 2011

«Основным» языком, как вы его назвали, является Java.Вы можете использовать C / C ++ через NDK, но вам это не понадобится, если вы не будете делать какие-то особые вещи.Если вам интересно, когда вам нужно будет использовать C / C ++, взгляните на официальную документацию:

Когда разрабатывать в родном коде

NDK не принесет пользы большинству приложений.Как разработчик, вы должны сбалансировать его преимущества с его недостатками;Примечательно, что использование нативного кода не приводит к автоматическому увеличению производительности, но всегда увеличивает сложность приложения.В общем, вы должны использовать собственный код только в том случае, если он важен для вашего приложения, а не только потому, что вы предпочитаете программировать на C / C ++.

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

Платформа Android предоставляет два способа использования собственного кода:

  • Напишите свое приложение, используя платформу Android, и используйте JNI для доступа к API, предоставляемым Android NDK.Этот метод позволяет вам воспользоваться преимуществами фреймворка Android, но, тем не менее, позволяет писать собственный код при необходимости.Приложения, использующие собственный код, можно устанавливать через JNI на устройствах под управлением Android 1.5 или более поздней версии.

  • Напишите собственное действие, которое позволяет реализовывать обратные вызовы жизненного цикла в собственном коде.Android SDK предоставляет класс NativeActivity, который является вспомогательным классом, который уведомляет ваш собственный код о любых обратных вызовах жизненного цикла активности (onCreate (), onPause (), onResume () и т. Д.).Вы можете реализовать обратные вызовы в своем собственном коде для обработки этих событий, когда они происходят.Приложения, использующие собственные действия, должны быть запущены на Android 2.3 (API Level 9) или

. Вы не можете получить доступ к таким функциям, как Сервисы и контент-провайдеры, так что если вы хотите их использовать илиAPI другого фреймворка, вы можете написать код JNI для этого.

0 голосов
/ 14 февраля 2011

Suaron ... С точки зрения стабильности Java-приложения с меньшей вероятностью могут отключить устройство. Так что ява || C # || C ++ / CLI безопаснее, чем C ++ против C против сборки. С этой целью API находится на Java, и поэтому большинство приложений на Java.

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

JAL

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