Страница 1 из 1

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

Добавлено: 13 июн 2014, 13:41
rozumaka
Собственно говоря - разбирая один пример 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{....}
}
Конечно - сразу хочется получить ответ на вопрос "почему так?"

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

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

Добавлено: 13 июн 2014, 14:32
Foenix
вся суть в логе, в который вы не смотрите.

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

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

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

Добавлено: 13 июн 2014, 15:28
Viewer
Скорее всего забыли добавить разрешения в манифест.

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

Добавлено: 13 июн 2014, 15:37
KamiSempai
Вы используете сеть в UI потоке. В Андроиде это делать запрещено.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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