Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/35: Рейтинг темы: голосов - 35, средняя оценка - 4.54
13 / 13 / 1
Регистрация: 23.11.2010
Сообщений: 254
1

SDK or NDK

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

Author24 — интернет-сервис помощи студентам
я начинающий разработчик, на данный момент не много знаю с++.
1) Что лучше изучать SDK и яву или же NDK, в будущем хочу попробовать себя в гейм деве.
2) Еще интересует с какими знаниями будет легче найти работу? сейчас на 4ом курсе и хотелось бы уже на пол ставки поработать...
3) Как быстро достигается junior уровень в данной области?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2013, 19:01
Ответы с готовыми решениями:

NDK и SDK
есть класс на яве который использует массив, который с течением времени увеличивается ( то есть...

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

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK?
Можно ли писать в нем готовые приложения Android?

Подключить стороннюю NDK-библиотеку к своему NDK-проекту
Пытаюсь подключить к своему (на самом деле не совсем своему) NDK-проекту стороннюю библиотеку...

35
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
28.05.2013, 17:28 21
Author24 — интернет-сервис помощи студентам
Ух как много слов, и ни одного по делу... Велосипед, понимать свой код, ... Только фраза по "основы язва", как базового для андроида - полезная! Похоже на рекламу Явы.

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

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

На чем написан МайкрософтОфис под андроид? А скайп? А известные движки игр?
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.05.2013, 21:28 22
сишка в андроиде используется для тяжеловесных операций, известные движки игр естественно на сишке.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
29.05.2013, 04:22 23
Цитата Сообщение от V0v1k Посмотреть сообщение
сишка в андроиде используется для тяжеловесных операций, известные движки игр естественно на сишке.
Тогда возникает вопрос - если ява и с++ это одна логика на разных инструментах, к тому-же с++ значительно быстрее и возможно надежнее (как минимум взлом затруднен), то почему большинство использует и усиленно учит яву? По крайней мере приложительно к андроиду?

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

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

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

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

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

Не по теме:

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать лучше все в оригинале, но ради SICP можно сделать исключение, хотя и Совершенный Код перевели очень достойно.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
30.05.2013, 13:28 29
у каждого свое мнение, почитайте истории языков, описания, попробуйте поработать с каждым и сделайте свои выводы.
интересный рейтинг - http://dou.ua/lenta/articles/l... -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 мегаизвестные и десяток менее... Вчера задался вопросом "как принудительно погасить экран/усыпить". Нашел десяток вопросов на форумах и большинство заканчивалось "нашел ссылку ... но она не работает." Неужели никто это не решал? Почему бы не выложить решение? Если чесно жду когда Делфи научится компилить под андроид(под айфон уже начали). То сообщество более организованое что-ли.. Когда учил делфи то просто читал их хелпы. там под каждой командой был микропример с обьяснениями. А у гугла под каждым методом - маленькая строчка с описанием уровня коментария в коде.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
30.05.2013, 13:39 30
Цитата Сообщение от Tester64 Посмотреть сообщение
Отладочные функции еклпипса вооще кошмар - если ошибка - программа просто вылетает выдав в лог-кет сообщение на 30 строк с кучей ошибок и просто закрывшись. Ни номера/описания ошибки как в других языках (деление на ноль, неправильная ссылка, ошибка в сокетах). Ни точки остановки - "дошли до сюда а дальше ошибка... ищи..."
не соответствует реальности.
есть вся нужная инфа и работает переход с логов к строке где упало приложение.

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

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

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

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

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

сейчас Android Studio
За это огромное спасибо. Слышал что выпустили, но боялся сырым продуктом пользоваться. Только что поставил... Под Win7. Все супер, но возникли проблемы с кодировкой. Было UTF-8, портировал, все работает, но стоит что-то поменять в тексте, как он сохраняет в "другом" UTF-8 (с заголовком BOM) и при перекомпиляции выдает ошибку. Не подскажите? Не охота ради этого новую ветку форума создавать...
0
41 / 41 / 0
Регистрация: 26.05.2013
Сообщений: 160
31.05.2013, 07:44 33
Eclipse настолько не удобен что файлы сохраняет в иной кодировке. В идее используется ютф без бом.
Выберите принудительно везде ее.
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
31.05.2013, 16:19 34
Цитата Сообщение от haribo Посмотреть сообщение
Eclipse настолько не удобен что файлы сохраняет в иной кодировке. В идее используется ютф без бом.
Вы хотя бы иногда, читайте что вам пишут, при чем тут Eclipse?
Цитата Сообщение от Tester64 Посмотреть сообщение
сейчас Android Studio
Слышал что выпустили, но боялся сырым продуктом пользоваться. Только что поставил... Под Win7. Все супер, но возникли проблемы с кодировкой. Было UTF-8, портировал, все работает, но стоит что-то поменять в тексте, как он сохраняет в "другом" UTF-8 (с заголовком BOM) и при перекомпиляции выдает ошибку.
P.S А чего вообще спорить, пишете на чем хотите, хоть "на перфокартах". Знаете С++ пишите на нем. Пользователи вам будут судьями. А остальные будут "униженно сидеть на не удобной Java" и получать своя жалкие десятки тысяч баксов.
0
41 / 41 / 0
Регистрация: 26.05.2013
Сообщений: 160
31.05.2013, 16:43 35
Цитата Сообщение от Vladimirys Посмотреть сообщение
Вы хотя бы иногда, читайте что вам пишут, при чем тут Eclipse?
человек выше меня спросил про кодировку и про переходи с Эклипса на Идею.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
01.06.2013, 06:42 36
Цитата Сообщение от haribo Посмотреть сообщение
человек выше меня спросил про кодировку и про переходи с Эклипса на Идею.
Еще раз спасибо за упоминание Студии... Насколько я понял это "клон" Идеи. В отличии от эклипса, студия многопоточная (все 4 ядра использует), но похоже только в режиме редактора... Сборка проекта все еще в один поток и использует не больше 50% от одного ядра. Странно что это до сих пор не усовершенствовали... Один раз студия у меня уже "глюкнула" - закрылась без предупреждений. Довольно глючный редактор форм - не все формы открывает (стили строк в списке видимые в Эклипсе не открылись) - пока пользуюсь симбиозом - код в студии, графика в еклипсе.

Но все еще жду здесь мнения спецов работающих под андроид на С++. Пока что были только слухи... Пару слов о сложностях, ограничениях, возможностях которые круче явы(% прироста скорости и т.д.)...
0
01.06.2013, 06:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2013, 06:42
Помогаю со студенческими работами здесь

Sdk в настойках Android Studio и sdk в Project Structure
То есть получается что путь к sdk которое использует Android Studio прописывается в Settings...

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

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

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


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru