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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.83
Flash_2oo9
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142
#1

c++/c#/Java - Программирование Android

01.10.2013, 01:13. Просмотров 2379. Ответов 47
Метки нет (Все метки)

Давно хочу задать вопрос знатокам (я не пытаюсь развести холивар на вечную тему, интересуюсь Вашим мнением как более опытных товарищей). И решил я это сделать после просмотра этого видео http://www.youtube.com/watch?v=It8xPqkKxis. До этого встречал пост на хабре, в котором также приводились примеры большой скорости роботы приложения написанного на C# чем на Java. Если скорость технологий выше названных языков (C# и c++). Так почему все пишут на яве. Сам писал (и продолжаю писать и изучать) только на яве, потому ответить на свои же вопросы не могу. Хотя мне известно что C# имеет инструменты для разработки по Android, IOs - xamarin. Просто интересуюсь нету ли выгоды при переходить на C# или те же C++ в производительности?

Добавлено через 7 минут
Вот, пожалуйста, еще пост http://habrahabr.ru/company/touchinstinct/blog/189060/.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2013, 01:13     c++/c#/Java
Посмотрите здесь:

Посоветуйте примеры кода по Java. Теория прочтена, но с языком Java не знакома - Java
Или может кто может дать готовый код. В теории вроде бы не очень сложно. :cry: 1.Напишите процедуру, которая по заданному сообщению...

Minecraft "Java, could not create the java virtual machine" [2]! - Java
Всё что можно было найти в Google или Яндексе я пробовал. Компьютер: Core i5, 4 Гб оперативки, видеокарта nvidia gtx 560,Windows 7...

Minecraft, "Java, could not create the java virtual machine" - Java
Обычна проблема - "Java, could not create the java virtual machine", всё что можно было найти в Google или Яндексе я пробовал. Компьютер:...

Minecraft "Java, could not create the java virtual machine" [3]! - Java
Вновь поднимаю тему так как столкнулся с той же проблемой, и дело не в пиратском майне, мне java нужна сама по себе, т. к. недавно занялся...

Создание java классов в коде С++ и вызов Java методов и классов из C++ - C++ WinAPI
Здравствуйте! Собственно проблема вот в чем при клмпиляции получаю ошибки Первый этап обработки исключения в "0x00000000" в...

Перевод java.sql.date -> java.util.date? - Java
Перевод java.sql.date -> java.util.date?

Java.util.ArrayList.rangeCheck(ArrayList.java:635) - JavaScript
Добрый день! У меня такой вопрос, я скачала open source crawler, исправила некоторые вещи по тому, что мне надо скачать с сайта,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 20:15     c++/c#/Java #21
Цитата Сообщение от V0v1k Посмотреть сообщение
и упадет программа или выведет неправильный результат из-за неподходящей архитектуры
никто не застрахован. именно поэтому у компиляторов есть настройки
Цитата Сообщение от V0v1k Посмотреть сообщение
вы о чем?
например для netbeans - настройки проекта
platform.configuration=CLDC-1.0
platform.profile=MIDP-1.0

для eclipse - манифест
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

Добавлено через 1 минуту
Цитата Сообщение от V0v1k Посмотреть сообщение
только версия SDK
да, это так. тем не менее есть и у этих устройств подводные камни вроде тех странностей с вводом чисел что я описал - причины остались для меня непонятны. скорее всего - отличия в реализации JVM
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:17     c++/c#/Java #22
Цитата Сообщение от vxg Посмотреть сообщение
никто не застрахован. именно поэтому у компиляторов есть настройки
вот именно что нужно билдать отдельно под каждую платформу и не всегда одними настройками обходится, а akp файл один для всех производителей андроид устройств и не волнует тебя какой процессор они ставят на свое устройство.

Добавлено через 1 минуту
Цитата Сообщение от vxg Посмотреть сообщение
тем не менее есть и у этих устройств подводные камни вроде тех странностей с вводом чисел что я описал - причины остались для меня непонятны. скорее всего - отличия в реализации JVM
можно поподробнее?
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 20:19     c++/c#/Java #23
Цитата Сообщение от V0v1k Посмотреть сообщение
вот именно что нужно билдать отдельно под каждую платформу, а akp файл один для всех производителей андроид устройств.
с этим не поспоришь, но на самом деле - это та же война форматов только с другой стороны. просто в случае с андроидом под понятие целевое устройство попадают все устройства на котором андроид в то время как для сишки только устройства с i386 или что там сейчас - отличий нет - и те и те исправно работают в пределах своего зоопарка
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:26     c++/c#/Java #24
суть том, что сама Java работает на большинстве платформ, поэтому ни производителям не нужно делать свои девайсы на какой-то одной, общей платформе и покупать чужие процессоры, ни разработчикам делать отдельные apk для разных производителей, ну а подводные камни, они везде есть.

Добавлено через 2 минуты
и на фотоаппарат элементарно ставятся приложения с маркета, ну а про технические ограничения и так понятно.
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 20:26     c++/c#/Java #25
Цитата Сообщение от V0v1k Посмотреть сообщение
поподробнее
одно и тоже приложение. на ранних моделях телефонов работает строка
Java
1
... new TextField("трам пам пам", "0", 20, TextField.DECIMAL);
на более навороченные трубы почему то перестают разуметь что в поле может быть введено только число с плавающей точкой и потребляют только целые до тех пор пока не извернуться вот так вот
Java
1
... new TextField("трам пам пам", "0", 20, TextField.ANY);
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:40     c++/c#/Java #26
это что за класс такой? у меня такой не находит.

Добавлено через 3 минуты
или это вы на чистой Jave пишите без Android SDK?

Добавлено через 2 минуты
а, понял, это Java ME, ну, в этом я не разбираюсь.
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 20:47     c++/c#/Java #27
Цитата Сообщение от V0v1k Посмотреть сообщение
суть том, что сама Java работает на большинстве платформ
суть в том что на большинстве платформ работают машинные коды которые, как правило, генерятся из сишки. просто дорыть до них проблемно. во всяком случае если это противоречит интересам платформы. платформы ориентированные на коды (как правило всякая автоматика) дают компиляторы и даже среды под себя и проблем сгенерить код для устройства и даже линейки - нет. платформы изолирующие пользователя и разработчика от железа дают возможность генерить байт-код, но, как и все, не могут избавиться от маразма своих создателей идущих кто в лес кто по грибы каждый своим самым правильным путем самым комичным результатом которого явилась невозможность выполнить на ява-ОС ява-приложение без ява-костылей. а, вообще, я за яву
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 20:54     c++/c#/Java #28
Цитата Сообщение от vxg Посмотреть сообщение
проблем сгенерить код для устройства и даже линейки - нет.
это не всегда ограничивается настройками компилятора, да и это лишний гемор.
Цитата Сообщение от vxg Посмотреть сообщение
ява-ОС
что подразумевается по этим? Android основан на ОС Linux, который в свою очередь на сишке написан.
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 20:58     c++/c#/Java #29
Цитата Сообщение от V0v1k Посмотреть сообщение
это не всегда ограничивается настройками компилятора, да и это лишний гемор.
речь идет о платформах автоматизации - там среда разработки и компилятор идут в комплекте вместе с устройством
Цитата Сообщение от V0v1k Посмотреть сообщение
что подразумевается по этим?
под этим подразумевается ОС позиционирующая себя как "исполняющая ява код" против ОС "исполняющих бинарный код". ведь в apk ява? что же мешает ему прочие явы потреблять? ну конечно же - незначительные отличия в малопонятных галочках скрывающие за собой тонны модулей заслоняющих от нас потроха конкретно взятой железки.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 21:05     c++/c#/Java #30
Цитата Сообщение от vxg Посмотреть сообщение
речь идет о платформах автоматизации - там среда разработки и компилятор идут в комплекте вместе с устройством
ну, значит не все так гладко как хотелось бы.
Цитата Сообщение от vxg Посмотреть сообщение
что же мешает ему прочие явы потреблять?
может это просто кому-то не выгодно
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 21:08     c++/c#/Java #31
Цитата Сообщение от V0v1k Посмотреть сообщение
ну, значит не все так гладко как хотелось бы
напротив - люди заботятся об уменьшении геморроя разработчика
Цитата Сообщение от V0v1k Посмотреть сообщение
может это просто кому-то не выгодно
в точку
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2013, 21:19     c++/c#/Java #32
Ява машина с установленым андроидом нужной версии (4.04) уже откомпилена разработчиком под его процесор и все что работает на других утройствах с этой версией андроиа будет работать и на других усройсвах с этой версией андроида. Теоретически...

У меня встречные вопросы:
1) СКОЛЬКО и какие виды процессоров на сегодня используюся адроид-разработчиками (аппаратная часть)?
2) Можно ли вычислить в ява коде какой процессор используется и выдать свое окно предупреждение "скачайте другую версию ХХХ под ваше устройство с сайта YYY" вместо завиния?
3) Можно ли в один apk встроить несколько версий?
4) Если программа (библиотека) написана на с++ ОЧЕНЬ старой версии она будет поддерживаться в новых архитектурах процессора? Есть ли в них "обратная совместимост"?
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 21:26     c++/c#/Java #33
Цитата Сообщение от Tester64 Посмотреть сообщение
вопросы
4 - если у вас есть исходники программы, то их переносимость на другие архитектуры будет определяться лишь версией стандарта языка (более поздние как правило поддерживают более ранние) и прямотой рук разработавшего (не срезал ли он углы используя магические константы и различные зависящие от реализации трюки встречающиеся, в основном, в задачах с манипуляцией битовыми представлениями данных).
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
01.10.2013, 21:30     c++/c#/Java #34
Цитата Сообщение от vxg Посмотреть сообщение
4 - если у вас есть исходники программы
В этом то и вопрос... Если я откомпилил исходники(допустим "по умному"), сдал их клиенту, а он через N лет покупает устройство с более продвинутым хардом (проц нового поколения...), есть вероятность что мои старые исходники не прийдется специально для него перекомпиливать?
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
01.10.2013, 21:36     c++/c#/Java #35
Цитата Сообщение от Tester64 Посмотреть сообщение
не прийдется
наверняка придется. хотя смотря что за устройства и что за исходники. для примера - практически все программы которые работали на Windows Millenium (и соответствующем времени аппаратном обеспечении) так же работают без повторной сборки и на Windows 7 (и нынешнем аппаратном обеспечении).
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
01.10.2013, 22:04     c++/c#/Java #36
во, смотрю нашелся более компетентны человек в этом вопросе чем я и смог задать правильные вопросы
кстати, как пример, слышал что Майкрософт не смог переработать свой пинбол под 64битную архитектуру и просто выкинул его
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
02.10.2013, 11:12     c++/c#/Java #37
Цитата Сообщение от V0v1k Посмотреть сообщение
пинбол
это что?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.10.2013, 12:28     c++/c#/Java #38
http://habrahabr.ru/post/163105/
vxg
Модератор
3107 / 1909 / 205
Регистрация: 13.01.2012
Сообщений: 7,278
02.10.2013, 16:29     c++/c#/Java #39
неясно что мешало оставить 32-битный пинбол на 64-битной системе... наверное религия)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2013, 17:05     c++/c#/Java
Еще ссылки по теме:

Апплет,java.lang.RuntimeException: java.lang.NoClassDefFoundError - JavaFX
апплет использует сторонние подключенные либы, при его загрузке вылетает такой вот эксепшн.... java.lang.RuntimeException:...

JAVA SE или Java EE - Java
Здравствуйте . Я могу работать в JAVA SE с maven, ANT , sql и т.д. через Eclipse или мне нужна Java EE ? Заранее спасибо.

Java SE. Booleans.java - Java SE
Как написать условия &quot;if&quot; с проверками количества ингредиентов таким образом, чтобы распечатывались названия продуктов, которые можно из...

Не находит java.servlet.* и java.servlet.http.* - Java
subj, говорит что package java.servlet.* и java.servlet.http.* не существуют. Это действительно так? Тогда где их взять и куда положить,...

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at work.WorkClass.main(WorkClass.java:16) - Java SE
Здравствуйте. Объясните, что не так. package test; public class Test { public static void main(String args) { String...


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

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.10.2013, 17:05     c++/c#/Java #40
так написано же что не работал он на 64, а портирование требовало слишком много времени.
Yandex
Объявления
02.10.2013, 17:05     c++/c#/Java
Ответ Создать тему
Опции темы

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