Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.85
Isantel
13 / 13 / 1
Регистрация: 23.11.2010
Сообщений: 254
#1

SDK or NDK - Программирование Android

13.04.2013, 19:01. Просмотров 4201. Ответов 35
Метки нет (Все метки)

я начинающий разработчик, на данный момент не много знаю с++.
1) Что лучше изучать SDK и яву или же NDK, в будущем хочу попробовать себя в гейм деве.
2) Еще интересует с какими знаниями будет легче найти работу? сейчас на 4ом курсе и хотелось бы уже на пол ставки поработать...
3) Как быстро достигается junior уровень в данной области?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 19:01     SDK or NDK
Посмотрите здесь:

NDK и SDK - Программирование Android
есть класс на яве который использует массив, который с течением времени увеличивается ( то есть массив динамический) в массиве находятся...

В каких случаях, по вашему, C++ (NDK) лучше, чем Java (SDK)? - Программирование Android
Можно ли готовое приложение Android написать в одном лишь NDK?

AS и Ndk - Программирование Android
Здравствуйте На официальном сайте в разделе ndk почему- то описывается eclipse Предполагается что с AS по аналогии и типа сами...

Android NDK - Программирование Android
Здравствуйте. Хотелось бы написать пару программок на андроид, но джаву вообще не знаю. Нагуглил, что можно писать на С++, но толком как...

Подключить NDK - Программирование Android
(моя 101я попытка начать работать с NDK) Чуть сдвинулся, но не хватает теории... 1) Скачал последний NDK (android-ndk-r9c) 2)...

Использование NDK - Программирование Android
Пытаюсь освоить NDK... И как всегда не хватает ЗАДАНИЙ! Не могу придумать где можно использовать (для новичка в с++)... Писать еще один...

NDK C vs C++ и примеры - Программирование Android
Гуру NDK! Посоветуйте! В очередной раз взялся за NDK и вдруг получилось... Успешно запустил все примеры что были под руками... ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.05.2013, 17:28     SDK or NDK #21
Ух как много слов, и ни одного по делу... Велосипед, понимать свой код, ... Только фраза по "основы язва", как базового для андроида - полезная! Похоже на рекламу Явы.

Так все-таки "SDK or NDK"????
Здесь вообще есть те, кто пользуется для разработки ТОЛЬКО С++???? Или хотя-бы использовали его для реальных проектов???

У меня например "есть мечта" написать сложную программу на С++ и портировать ее на андроид. И до сих пор не понял, созрел ли для этого сам андроид.

На чем написан МайкрософтОфис под андроид? А скайп? А известные движки игр?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 21:28     SDK or NDK #22
сишка в андроиде используется для тяжеловесных операций, известные движки игр естественно на сишке.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
29.05.2013, 04:22     SDK or NDK #23
Цитата Сообщение от V0v1k Посмотреть сообщение
сишка в андроиде используется для тяжеловесных операций, известные движки игр естественно на сишке.
Тогда возникает вопрос - если ява и с++ это одна логика на разных инструментах, к тому-же с++ значительно быстрее и возможно надежнее (как минимум взлом затруднен), то почему большинство использует и усиленно учит яву? По крайней мере приложительно к андроиду?

Знаю что ява на мировом рынке котируется выше из-за количества запросов роботодателей, но ведь с++ наскольоко я понял НАМНОГО старше, а значит и сообщество опытных больше и готовых библиотек-алгоритмов уйма... И код на С++ (слышал) менее глючный получается, и скорость намного выше, и инструментарий (VC++) удобнее и быстрее (хуже эклипса уже некуда)... И декомпиляции не поддается "из коробки" (защита большинства игрушек от наглого копирования). И готовых проектов под другие ОС уйма, которые можно транслировать (хотя-бы из WinCE).

Тогда почему не NDK??? Сила привычки (под Win/Linux еше начинали)? Легче язык для новичка? Начали на яве когда в андроиде С++ еще небыло и не хочется переучиваться? Ява "роднее" для андроида? Гонка за мультиплатформеностью? Или... что-то еще забыл упомянуть?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.05.2013, 10:02     SDK or NDK #24
Цитата Сообщение от Tester64 Посмотреть сообщение
Ява "роднее" для андроида?
ну да, на джаве написаны все те классы что используются для написания Андроид приложений.

Добавлено через 2 минуты
Цитата Сообщение от Tester64 Посмотреть сообщение
но ведь с++ наскольоко я понял НАМНОГО старше, а значит и сообщество опытных больше и готовых библиотек-алгоритмов уйма... И код на С++ (слышал) менее глючный получается, и скорость намного выше
а в асемблер еще старше и скорость еще выше)

Цитата Сообщение от Tester64 Посмотреть сообщение
хуже эклипса уже некуда
ну то используйте IntelliJ IDEA.

Добавлено через 14 минут
Цитата Сообщение от Tester64 Посмотреть сообщение
и готовых библиотек-алгоритмов уйма..
вот для этого и сделали NDK.
Good-bad man
29.05.2013, 12:07
  #25

Не по теме:

Цитата Сообщение от Tester64 Посмотреть сообщение
И код на С++ (слышал) менее глючный получается
А я слышал, что "глючность" зависит не от языка программирования, а от прямоты рук разработчика

Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
29.05.2013, 19:49     SDK or NDK #26
Цитата Сообщение от V0v1k Посмотреть сообщение
ну да, на джаве написаны все те классы что используются для написания Андроид приложений.

а в асемблер еще старше и скорость еще выше)
Сравнили... С++ высокоуровневый. И его история длинее чем у явы. И при наличии NDK грани стираются. Так почему разработчики не переходят на С++???

Сам только месяца 3-4 кодю на яве под андроид и хочу понять прежде чем успокоится и продолжать кодить на яве... Слишком многое мне в ней не нравится. Но вынужден писать под андроид... Может в С++ будет удобнее/проще... Расширяемость лучше... Код логичнее... отладочные средства круче...

ну то используйте IntelliJ IDEA.
А вот здесь поподробнее... Кто-нибудь ИЗ ВАС использует? Оно реально лучше/удобнее/быстрее? Или просто альтернатива... Типа не нравится виндовз, пользуйся линуксом...
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.05.2013, 20:52     SDK or NDK #27
Цитата Сообщение от Tester64 Посмотреть сообщение
Слишком многое мне в ней не нравится. Но вынужден писать под андроид... Может в С++ будет удобнее/проще... Расширяемость лучше... Код логичнее... отладочные средства круче...
если бы ваше субъективное мнение было бы истиной в последней инстанции, то другие языки просто бы вымерли.

Цитата Сообщение от Tester64 Посмотреть сообщение
Сравнили... С++ высокоуровневый.
ну, как по мне, Java и C# белее высокоуровней чем чистый С++. C# тоже ведь не от нечего делать придумали, чем-то значит С++ не устраивал.

Цитата Сообщение от Tester64 Посмотреть сообщение
А вот здесь поподробнее... Кто-нибудь ИЗ ВАС использует? Оно реально лучше/удобнее/быстрее? Или просто альтернатива... Типа не нравится виндовз, пользуйся линуксом...
лично не использовал, но те кто использовал очень хвалят...

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

Добавлено через 2 минуты
не зря же тот же С# делался по образу и подобию Java'ы...

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

Добавлено через 6 минут
интересный рейтинг - http://dou.ua/lenta/articles/language-rating-jan-2013/

Добавлено через 5 минут
пересмотрел еще несколько статистик, во всех Java вдвое и больше популярнее чем C++
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
29.05.2013, 21:51     SDK or NDK #28
Не надо привязываться к конкретному языку, но надо понимать что есть жестко типизированные Языки Программирования (ЯП), а что такое не явная типизация (у не жестко типизированных ЯП). Здесь есть разница, - шаблоны мышления разные.
Что Java, что C++ - это жестко типизированные ЯП, который один malloc отделяет друг от друга (шутка :-) ).
У вас нет жестокого выбора между типизированным и не явно типизированными ЯП.
Объективно говоря не имея опыта вообще в кодировании, С++ покажется сложнее в разы. Начать вообще лучше с Python или Ruby, для понимания программирования (Dive into Python - отличная книга, читать лучше в оригинале).

А также советую прочесть SICP(Structure and Interpretation of Computer Programs) и Code Complete Автор: С. Макконнелл.

Читать лучше все в оригинале, но ради SICP можно сделать исключение, хотя и Совершенный Код перевели очень достойно.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
30.05.2013, 13:28     SDK or NDK #29
у каждого свое мнение, почитайте истории языков, описания, попробуйте поработать с каждым и сделайте свои выводы.
интересный рейтинг - http://dou.ua/lenta/articles/language-rating-jan-2013/
Знаю! Изучал... И PHP на 3ем месте(я его не плохо знаю, как и Делфи)... Что не странно когда сайт есть у каждого 2го и его всегда хочется "допилить". Естественно ява на первых местах. Она изначально "модульная". Благодаря класс-файлам работу можно разнести хоть на 1000 разработчиков. Это намного проще чем писать DLL. Используется в основном в бизнес-секторе. Банки, трейдеры, складские учеты на мега-корпорациях, нефте-газо перебатывающие, крупные производства... В основном для иностранных заказчиков. Там где красота дизайна и удобство работы на последних местах. А мультиплатформенность и маштабируемость на первом. Обычно памяти подобные программы требуют уйму, все (с которыми лично работал) "подтормаживают" на среднем оборудовании. Реже используется для написания серверной части программ для никс-серверов. Сильно поднялся язык на разработке игрушек под старые мобилки - там кроме явы ничего и небыло. Вывод специалистов уйма. Но андроид не виндовз и не линукс... его ограничения меня убивают... Недавно задавал вопрос по диалоговым окнам и мне обьяснили что упростить это так как мне хочется - не реально. Причем именно в андроид - нельзя останавливать основной поток, все диалоги и их обработчики в основном потоке. При многооконном режиме я бы нашел как выкрутиться.

Отладочные функции еклпипса вооще кошмар - если ошибка - программа просто вылетает выдав в лог-кет сообщение на 30 строк с кучей ошибок и просто закрывшись. Ни номера/описания ошибки как в других языках (деление на ноль, неправильная ссылка, ошибка в сокетах). Ни точки остановки - "дошли до сюда а дальше ошибка... ищи..."

Про еклипс вообще молчу... Крутые игро-писатели (с других сайтов) предпочитают си и в один голос говорят что еклипс - тормознутое г... Вынужден писать пока на еклипс и с ними согласен - блокнот иногда удобнее и надежнее. Редактор диалоговых окон это вообще капец. Свойства диалоговых элементов периодически зависают, не в попад выпрыгивают хинт подсказки, убрать которые нельзя. И все это "из коробки" - после 2х пунктов минимальной настройки (скачать нужный еклипс, установить плагин под андроид).

если бы ваше субъективное мнение было бы истиной в последней инстанции, то другие языки просто бы вымерли.
Не думаю! У каждого языка своя аудитория - свое направление. Было время когда несмотря на свою узконаправленость и тормознутость VBA за рубежом ценился выше C++. У каждого есть купленый MSOffice, а тратиться на Студию - не желают. PHP не смотря на "крутость" руби и питона не вымрет еще очень долго.

а конкретные преимущества Java можно почитать в книгах по основам языка, думаю в каждой книге в начале рассказывается история и преимущества языка.
Обычно пара строчек, а сколько там минусов никто не пишет... Особенно для тех кто не плохо знает ДРУГИЕ языки.
Вот с одного форума (признаюсь понимаю половину и не уверен что это не появилось в новых версиях ява):
Почему Java отстой? Давайте посчитаем.
Ужасные ограничения вокруг имен пакетов/файлов/каталогов/классов
Отсутствие анонимных методов
Отсутствие замыканий (closure)
Отсутствие лямбда-выражений
Отсутствие событий/делегатов
Отсутствие partial классов
Смешная имплементация перечислений
Ужасная реализация generic-ов
Отсутствие структур и как следствие невозможность хранить составные объекты целиком в стеке. Это существенно сказывается на производительности, там где это важно.
Строки являются неизменяемыми (immutable), но не интернированы (см. intern)
Нет доступа к unsafe-коду
Нет get/set методов для свойств
Нет перегрузки операторов
Нет extension методов
Наконец глупая и неинтуитивная расстановка скобок
Еще убивает отсутвие сборников готовых решений. Особенно на просторах рунета. FAQ. Не форумов и именно решений. И не на 10-100 статей а на 10-100тысяч. По делфи таких уйма. 2-3 мегаизвестные и десяток менее... Вчера задался вопросом "как принудительно погасить экран/усыпить". Нашел десяток вопросов на форумах и большинство заканчивалось "нашел ссылку ... но она не работает." Неужели никто это не решал? Почему бы не выложить решение? Если чесно жду когда Делфи научится компилить под андроид(под айфон уже начали). То сообщество более организованое что-ли.. Когда учил делфи то просто читал их хелпы. там под каждой командой был микропример с обьяснениями. А у гугла под каждым методом - маленькая строчка с описанием уровня коментария в коде.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 13:39     SDK or NDK #30
Цитата Сообщение от Tester64 Посмотреть сообщение
Отладочные функции еклпипса вооще кошмар - если ошибка - программа просто вылетает выдав в лог-кет сообщение на 30 строк с кучей ошибок и просто закрывшись. Ни номера/описания ошибки как в других языках (деление на ноль, неправильная ссылка, ошибка в сокетах). Ни точки остановки - "дошли до сюда а дальше ошибка... ищи..."
не соответствует реальности.
есть вся нужная инфа и работает переход с логов к строке где упало приложение.

не вижу смысла начинать здесь холивары по поводу языков, у каждого свое мнение и свои предпочтения.

Добавлено через 1 минуту
Цитата Сообщение от Tester64 Посмотреть сообщение
Не думаю! У каждого языка своя аудитория - свое направление.
вот именно, и их аудитория считает свой язык самым лучшим а остальные отстоем, ну это я преувеличиваю естественно...

Добавлено через 2 минуты
Цитата Сообщение от Tester64 Посмотреть сообщение
Вчера задался вопросом "как принудительно погасить экран/усыпить". Нашел десяток вопросов на форумах и большинство заканчивалось "нашел ссылку ... но она не работает." Неужели никто это не решал?
не изучал данный вопрос, но это может быть запрещено секьюритем андроида, язык тут вообще ни при чем.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
30.05.2013, 14:17     SDK or NDK #31
Цитата Сообщение от Tester64 Посмотреть сообщение
Она изначально "модульная". Благодаря класс-файлам работу можно разнести хоть на 1000 разработчиков. Это намного проще чем писать DLL.
git, vcs не слышали?

Цитата Сообщение от Tester64 Посмотреть сообщение
Отладочные функции еклпипса вооще кошмар - если ошибка - программа просто вылетает выдав в лог-кет сообщение на 30 строк с кучей ошибок и просто закрывшись. Ни номера/описания ошибки как в других языках (деление на ноль, неправильная ссылка, ошибка в сокетах). Ни точки остановки - "дошли до сюда а дальше ошибка... ищи..."
Про еклипс вообще молчу... Крутые игро-писатели (с других сайтов) предпочитают си и в один голос говорят что еклипс - тормознутое г... Вынужден писать пока на еклипс и с ними согласен - блокнот иногда удобнее и надежнее. Редактор диалоговых окон это вообще капец. Свойства диалоговых элементов периодически зависают, не в попад выпрыгивают хинт подсказки, убрать которые нельзя. И все это "из коробки" - после 2х пунктов минимальной настройки (скачать нужный еклипс, установить плагин под андроид).
Использую Intellij Idea, сейчас Android Studio - не имею подобных проблем. Eclipse на редкость не удобен, начиная от KeyMap заканчивая Debug view.

Цитата Сообщение от Tester64 Посмотреть сообщение
PHP не смотря на "крутость" руби и питона не вымрет еще очень долго.
PHP жив, так как его можно выучить за неделю.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
30.05.2013, 22:39     SDK or NDK #32
git, vcs не слышали?
Конечно, но я говорил о том что обычные продукты явы (не андроид) состоят из раздельных .class файлов, которые (насколько понял) можно подменять без перекомпиляции полного проэкта прямо во время работы. Тоесть если захотелось сменить один документ из тысячи, то можно не отдавать все исходники фрилансеру.

сейчас Android Studio
За это огромное спасибо. Слышал что выпустили, но боялся сырым продуктом пользоваться. Только что поставил... Под Win7. Все супер, но возникли проблемы с кодировкой. Было UTF-8, портировал, все работает, но стоит что-то поменять в тексте, как он сохраняет в "другом" UTF-8 (с заголовком BOM) и при перекомпиляции выдает ошибку. Не подскажите? Не охота ради этого новую ветку форума создавать...
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
31.05.2013, 07:44     SDK or NDK #33
Eclipse настолько не удобен что файлы сохраняет в иной кодировке. В идее используется ютф без бом.
Выберите принудительно везде ее.
Vladimirys
303 / 200 / 22
Регистрация: 16.01.2010
Сообщений: 567
31.05.2013, 16:19     SDK or NDK #34
Цитата Сообщение от haribo Посмотреть сообщение
Eclipse настолько не удобен что файлы сохраняет в иной кодировке. В идее используется ютф без бом.
Вы хотя бы иногда, читайте что вам пишут, при чем тут Eclipse?
Цитата Сообщение от Tester64 Посмотреть сообщение
сейчас Android Studio
Слышал что выпустили, но боялся сырым продуктом пользоваться. Только что поставил... Под Win7. Все супер, но возникли проблемы с кодировкой. Было UTF-8, портировал, все работает, но стоит что-то поменять в тексте, как он сохраняет в "другом" UTF-8 (с заголовком BOM) и при перекомпиляции выдает ошибку.
P.S А чего вообще спорить, пишете на чем хотите, хоть "на перфокартах". Знаете С++ пишите на нем. Пользователи вам будут судьями. А остальные будут "униженно сидеть на не удобной Java" и получать своя жалкие десятки тысяч баксов.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
31.05.2013, 16:43     SDK or NDK #35
Цитата Сообщение от Vladimirys Посмотреть сообщение
Вы хотя бы иногда, читайте что вам пишут, при чем тут Eclipse?
человек выше меня спросил про кодировку и про переходи с Эклипса на Идею.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2013, 06:42     SDK or NDK
Еще ссылки по теме:

Android NDK - Программирование Android
Здравствуйте, форумчане. Появилось пара вопросов относительно Android NDK... С NDK можно программировать только вставками нативного...

Чтение файла из ndk - Программирование Android
Пытаюсь прочитать файл с assets/myfolder/test.txt FILE * pFile = fopen ("myfolder/test.txt" , "r" ); if (pFile==NULL) { ...

Где скачать NDK? - Программирование Android
Подскажите пожалуйста где скачать NDK, ну что б более менее безопасно? Ссылка на офф сайте developer.android.com не работает, на трекере...

TCP клиент в NDK - Программирование Android
Как реализовать TCP клиент используя андроид ndk на С++?? Я слышал, что у андроид такое же ядро как и у Linux. То есть на андроид ndk будет...

Работа с камерой и NDK - Программирование Android
Итак есть приложение показывает изображение с камеры а поверх него выводить гистограмму. Отдельно без JNI камера работает, но при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.06.2013, 06:42     SDK or NDK #36
Цитата Сообщение от haribo Посмотреть сообщение
человек выше меня спросил про кодировку и про переходи с Эклипса на Идею.
Еще раз спасибо за упоминание Студии... Насколько я понял это "клон" Идеи. В отличии от эклипса, студия многопоточная (все 4 ядра использует), но похоже только в режиме редактора... Сборка проекта все еще в один поток и использует не больше 50% от одного ядра. Странно что это до сих пор не усовершенствовали... Один раз студия у меня уже "глюкнула" - закрылась без предупреждений. Довольно глючный редактор форм - не все формы открывает (стили строк в списке видимые в Эклипсе не открылись) - пока пользуюсь симбиозом - код в студии, графика в еклипсе.

Но все еще жду здесь мнения спецов работающих под андроид на С++. Пока что были только слухи... Пару слов о сложностях, ограничениях, возможностях которые круче явы(% прироста скорости и т.д.)...
Yandex
Объявления
01.06.2013, 06:42     SDK or NDK
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru