![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Karadul |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.5.2006 Репутация: 0 Всего: 1 |
Как там обстоят дела с конвертацией программ на яве на ведро?
http://en.wikipedia.org/wiki/Dalvik_%28software%29
Это реально работает или придется что-то переписывать? |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
| Karadul |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.5.2006 Репутация: 0 Всего: 1 |
То есть гуй программа не спортируется?
3. А какой аналог System.err и System.out? 5. А что такое "сильное" колдунство? |
|||
|
||||
| jk1 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Если gui на Swing\AWT - то нет. Если gui на другой технологии, то надо смотреть насколько она поддерживается под андроидом. SWT, как утверждается, работает, но сам я не пробовал.
Вместо этого на андроиде предлагается логи писать.
Например написание собственного загрузчика классов, который получает байткод с удаленного сервера или генерирует его в рантайме. -------------------- Opinions are like assholes — everybody has one |
||||||
|
|||||||
| Karadul |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.5.2006 Репутация: 0 Всего: 1 |
А в других языках стандартные потоки есть? Как тогда работают консольные программы? Все ЖМУ утилиты рассчитаны на консоль.
|
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Под голый андроид консольные java-программы вообще не пишут. Если хочется, чтобы консольные java-приложения работали на андроиде, придется поплясать с бубном Можно ли писать на других языках под андроид так, чтобы был доступ к нормальной консоли - не знаю, под андроид только на java писал -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| Karadul |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.5.2006 Репутация: 0 Всего: 1 |
А несовместимость между разными версиями андроида для явы есть, или это-сишкопроблемы?
|
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Обычно java-код для андроида backward-compatible, т.е. код написанный для 2.1 будет работать на 2.2 и старше. В обратную сторону все не так радужно, так как фичи появлялись в платформе постепенно и на целевом смартфоне нужных приложению фич может и не быть из-за древности платформы. Как правило в манифесте указывается minSdkVersion для указания на минимальноую поддерживаемую приложением версию платформы. Максимальную версию указывать, по понятным причинам, смысла нет. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| Karadul |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.5.2006 Репутация: 0 Всего: 1 |
Я слышал, что даже младшие версии андроида несовместимы. Интересно, откуда растут ноги у этого мнения?
|
|||
|
||||
| LSD |
|
|||
![]() 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. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |