Почему код JAVA, работающий на JVM не работает на андроид?

Ответить
rozumaka
Сообщения: 4
Зарегистрирован: 13 июн 2014, 13:04

Почему код JAVA, работающий на JVM не работает на андроид?

Сообщение rozumaka » 13 июн 2014, 13:41

Собственно говоря - разбирая один пример JAVA кода (в качестве самообучения), я столкнулся с тем, что почти один и тот-же код (вернее конкретные методы) отказываются работать на андроиде. Причем программа "вылетает" на стадии run-time...

Вот к примеру код, который без проблем работает на JVM виндовс, вылетает на андроиде в run-time

Код: Выделить всё

     
public void onClick(View v) throws IOException{
      InetAddress addr = InetAddress.getByName("192.168.1.1");
     // на следующей строке происходит аварийное завершение программы
      Socket socket = new Socket(addr, 5555);
      // сюда дело не доходит
      try {....}
       finnaly{....}
}
Конечно - сразу хочется получить ответ на вопрос "почему так?"

Но в добавок к конкретному ответу, хочется еще и выяснить суть этого ответа - а именно - я так понимаю тутвступает понятие работы платформы андроид - вот хотелось-бы понять суть - что и как и где почитать об этой сути.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение Foenix » 13 июн 2014, 14:32

вся суть в логе, в который вы не смотрите.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение Mikhail_dev » 13 июн 2014, 14:35

Посмотрите вебинар, который подскажет как найти ошибку, которая послужила неработоспособности кода.
viewtopic.php?f=60&t=3198
А дальше вы легко сможете её загуглить и понять корни.

Viewer
Сообщения: 180
Зарегистрирован: 30 апр 2014, 11:42

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение Viewer » 13 июн 2014, 15:28

Скорее всего забыли добавить разрешения в манифест.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение KamiSempai » 13 июн 2014, 15:37

Вы используете сеть в UI потоке. В Андроиде это делать запрещено.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

rozumaka
Сообщения: 4
Зарегистрирован: 13 июн 2014, 13:04

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение rozumaka » 13 июн 2014, 15:59

Если сеть нельзя использовать в User Interface (UI) - пожалуйста - укажите мне на теорию, где описывается - что можно а что нельзя в андроид... И вообще - как правильно писать код в условиях андроид...
Спасибо.

ПС - в манифесте я прописал разрешения.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение Mikhail_dev » 13 июн 2014, 16:22

- пожалуйста - укажите мне на теорию, где описывается - что можно а что нельзя в андроид..
developer.android.com
stackoverflow.com

rozumaka
Сообщения: 4
Зарегистрирован: 13 июн 2014, 13:04

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение rozumaka » 13 июн 2014, 16:29

Программу запускал на выполнение в среде AIDE - под андроидом.... Logcat содержит лог какраз до "падения"... И никакой информации полезной не содержит.... Я так понимаю пора переходить в Eclipse?

rozumaka
Сообщения: 4
Зарегистрирован: 13 июн 2014, 13:04

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение rozumaka » 13 июн 2014, 16:33

Mikhail_dev писал(а):
- пожалуйста - укажите мне на теорию, где описывается - что можно а что нельзя в андроид..
developer.android.com
stackoverflow.com

Спасиб за ссылки - я просто думал что где-то конкретно описан механизм... А то ведь я даже и не знаю что искать...где описывается... Конкретно суть того, что вот к примеру нельзя использовать это в юзеринтерфейсе.... А вот это наоборот, нужно только в юзеринтерфейсе... Ну где-то так...

Вебинар Ваш уже начал смотреть-спасибо.

Viewer
Сообщения: 180
Зарегистрирован: 30 апр 2014, 11:42

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение Viewer » 13 июн 2014, 16:40

rozumaka писал(а):Программу запускал на выполнение в среде AIDE - под андроидом.... Logcat содержит лог какраз до "падения"... И никакой информации полезной не содержит.... Я так понимаю пора переходить в Eclipse?
Как-то ставил этот AIDE, мне показалось, что кроме Hello Android ничего серьезного в ней не написать, удалил, может сейчас что изменилось.
Лучше поставить Eclipse (+ADT) или IntelliJ IDEA или Android Studio это уже на ваш вкус, не буду агитировать за что-то конкретно.

(На Eclipse здесь больше народу сидит, проще будет вам что-то подсказать по этой IDE)

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Почему код JAVA, работающий на JVM не работает на андрои

Сообщение Mikhail_dev » 14 июн 2014, 11:51

rozumaka писал(а):Программу запускал на выполнение в среде AIDE - под андроидом.... Logcat содержит лог какраз до "падения"... И никакой информации полезной не содержит.... Я так понимаю пора переходить в Eclipse?
не приходилось использовать эту IDE. Использовал либо AS/IDEA, либо Eclipse. Хотя LogCat не зависит от IDE, это отдельный инструмент.

Ответить