Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java и андроид 
:(
    Опции темы
Karadul
Дата 11.12.2012, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: 0
Всего: 1



Как там обстоят дела с конвертацией программ на яве на ведро?

http://en.wikipedia.org/wiki/Dalvik_%28software%29
Цитата

A tool called dx is used to convert some (but not all) Java .class files into the .dex format. Multiple classes are included in a single .dex file. Duplicate strings and other constants used in multiple class files are included only once in the .dex output to conserve space. Java bytecode is also converted into an alternative instruction set used by the Dalvik VM. An uncompressed .dex file is typically a few percent smaller in size than a compressed .jar (Java Archive) derived from the same .class files.[3]


Это реально работает или придется что-то переписывать?
PM MAIL   Вверх
jk1
Дата 12.12.2012, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Цитата

Это реально работает или придется что-то переписывать?


В основном работает, есть проблемы только со специфичным функционалом. На андроиде: 

1) Могут отсутствовать security provider'ы для некоторых криптоалгоритмов 
2) Отсутствуют Swing и AWT
3) System.err и System.out ничего не делают
4) Различаются наборы системных пропертей (System.getproperty(...))
5) Механизм загрузки классов отличается, у Dalvik'а свои представления о класслоадинге. Так что если приложение использует сильное колдунство с загрузчиками классов, то оно с высокой вероятностью на андроиде не заработает 

Ну и конечно всякие нативные завязки на платформу вроде JNI/JNA, Runtime.exec(...) и т.д. тоже поотваливаются


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Karadul
Дата 12.12.2012, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: 0
Всего: 1



То есть гуй программа не спортируется?

3. А какой аналог System.err и System.out?

5. А что такое "сильное" колдунство?
PM MAIL   Вверх
jk1
Дата 12.12.2012, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Цитата

То есть гуй программа не спортируется?


Если gui на Swing\AWT - то нет. Если gui на другой технологии, то надо смотреть насколько она поддерживается под андроидом. SWT, как утверждается, работает, но сам я не пробовал.

Цитата

А какой аналог System.err и System.out?


Вместо этого на андроиде предлагается логи писать.

Цитата

А что такое "сильное" колдунство? 


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


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Karadul
Дата 13.12.2012, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: 0
Всего: 1



А в других языках стандартные потоки есть? Как тогда работают консольные программы? Все ЖМУ утилиты рассчитаны на консоль.
PM MAIL   Вверх
jk1
Дата 14.12.2012, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Цитата

Как тогда работают консольные программы? 


Под голый андроид консольные java-программы вообще не пишут. Если хочется, чтобы консольные java-приложения работали на андроиде, придется поплясать с бубном
Можно ли писать на других языках под андроид так, чтобы был доступ к нормальной консоли - не знаю, под андроид только на java писал


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Karadul
Дата 21.12.2012, 05:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: 0
Всего: 1



А несовместимость между разными версиями андроида для явы есть, или это-сишкопроблемы?
PM MAIL   Вверх
jk1
Дата 23.12.2012, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Цитата

А несовместимость между разными версиями андроида для явы есть, или это-сишкопроблемы? 


Обычно java-код для андроида backward-compatible, т.е. код написанный для 2.1 будет работать на 2.2 и старше. В обратную сторону все не так радужно, так как фичи появлялись в платформе постепенно и на целевом смартфоне нужных приложению фич может и не быть из-за древности платформы. Как правило в манифесте указывается minSdkVersion для указания на минимальноую поддерживаемую приложением версию платформы. Максимальную версию указывать, по понятным причинам, смысла нет.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Karadul
Дата 24.12.2012, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: 0
Всего: 1



Я слышал, что даже младшие версии андроида несовместимы. Интересно, откуда растут ноги у этого мнения?
PM MAIL   Вверх
LSD
Дата 24.12.2012, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Ну например теперь в GUI потоке запрещено делать сетевые вызовы. Это и раньше не приветствовалось, но теперь просто вызовет ошибку.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0498 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.