Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.

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

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Foenix » 30 мар 2014, 19:07

Если эклипс теряет связь с эмулятором и программа не грузится туда вообще, выдается сообщение, что потеряна связь с эмулятором - можно перегрузить adb командами

adb kill-server
adb start-server
R.id.team

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

javajunior
Сообщения: 17
Зарегистрирован: 29 мар 2014, 17:23

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение javajunior » 30 мар 2014, 19:31

Foenix писал(а):При появлении данного сообщения - нужно смотреть не на экран эмулятора, а в лог.
Оно-то и понятно, что смотреть нужно туда, но для новичка лог, куда нужно смотреть, ни о чем, ни говорит, зато хорошо говорит предупреждение "This template requires a build target API version of at least 14, and the current version is 10" которое появляется, если сделать все в точности как в уроке. В случае, если поменять версию на более позднюю, то и появляется тот самый вертяк. Соответственно нужно еще дописывать что-то, где-то, пока не разобрался, но скоро уже, уже скоро все встанет на свои места. А ошибка похожа остановкой приложения, а это уже статистика, как ни крути!

siberprogs
Сообщения: 93
Зарегистрирован: 05 мар 2014, 06:20

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение siberprogs » 30 мар 2014, 19:37

По моему я понял в у них ошибка. Согласно уроку в папке layout-land создают myscreen.xml который при портретном режиме должен заменить main.xml. А так как теперь проекты создаются с фрагментами - то myscreen.xml нужно использовать вместо fragment_main.xml. Наверное...
Хотя в фрагментах я не силен пока, руки до них не доходят.
Linux Fedora RFRemix + Intellij Idea

javajunior
Сообщения: 17
Зарегистрирован: 29 мар 2014, 17:23

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение javajunior » 30 мар 2014, 19:59

siberprogs писал(а):По моему я понял в у них ошибка. Согласно уроку в папке layout-land создают myscreen.xml который при портретном режиме должен заменить main.xml. А так как теперь проекты создаются с фрагментами - то myscreen.xml нужно использовать вместо fragment_main.xml. Наверное...
Хотя в фрагментах я не силен пока, руки до них не доходят.
Совершенно верное направление. В десяточку! Проблему решил, можно приступать к изучению 6 урока. Seberprogs благодарю +1. Уроки актуальны, только немного нужно додумывать и мне это очень нравится оказывается! :D :!:

Hello_world
Сообщения: 2
Зарегистрирован: 30 мар 2014, 14:20

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Hello_world » 31 мар 2014, 00:26

DenLeo писал(а):
Hello_world писал(а):Всем привет. столкнулся с проблемой : в папке src пусто и соответственно нельзя найти файл MainActivity.java
Как это исправить ? Кто сталкивался с подобным ?
Может это решение поможет https://www.youtube.com/watch?v=hIkQkx3 ... ea1rVRbPLQ
Теперь после этого появилась другая ошибка : The application has stopped unexpectedly.Please try again

С чем это может быть связано ? И какой есть путь решения ошибок ?

П.С. Я новичок и пытаюсь самостоятельно разбираться, чтобы меньше задавать вопросов

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

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Foenix » 31 мар 2014, 01:01

Hello_world писал(а): Теперь после этого появилась другая ошибка : The application has stopped unexpectedly.Please try again

С чем это может быть связано ? И какой есть путь решения ошибок ?

П.С. Я новичок и пытаюсь самостоятельно разбираться, чтобы меньше задавать вопросов
viewtopic.php?f=3&t=89&start=160#p28232
R.id.team

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

javajunior
Сообщения: 17
Зарегистрирован: 29 мар 2014, 17:23

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение javajunior » 31 мар 2014, 04:16

Hello_world писал(а): Теперь после этого появилась другая ошибка : The application has stopped unexpectedly.Please try again
С чем это может быть связано ? И какой есть путь решения ошибок ?
siberprogs писал(а):По моему я понял в у них ошибка. Согласно уроку в папке layout-land создают myscreen.xml который при портретном режиме должен заменить main.xml. А так как теперь проекты создаются с фрагментами - то myscreen.xml нужно использовать вместо fragment_main.xml.

Sig_al
Сообщения: 2
Зарегистрирован: 01 апр 2014, 09:41
Откуда: Россия, Ставрополь

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Sig_al » 01 апр 2014, 09:58

Хм. А вот у меня проблема. :( Пока не трогал MainActivity.java, всё работало. Но как только изменил строку на setContentView(R.layout.myscreen);... Всё компилируется, загружается в эмулятор, но при запуске приложения появляется Unfortunalely, LayoutFiles has stopped и всё сворачивается. Когда загружаю apk-файл на свой смартфон, реакция та же.
Вот логи консоли:
[2014-04-01 10:52:03 - P0051_LayoutFiles] ------------------------------
[2014-04-01 10:52:03 - P0051_LayoutFiles] Android Launch!
[2014-04-01 10:52:03 - P0051_LayoutFiles] adb is running normally.
[2014-04-01 10:52:03 - P0051_LayoutFiles] Performing com.example.p0051_layoutfiles.MainActivity activity launch
[2014-04-01 10:52:03 - P0051_LayoutFiles] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'AVD_400'
[2014-04-01 10:52:07 - P0051_LayoutFiles] Application already deployed. No need to reinstall.
[2014-04-01 10:52:07 - P0051_LayoutFiles] Starting activity com.example.p0051_layoutfiles.MainActivity on device emulator-5554
[2014-04-01 10:52:11 - P0051_LayoutFiles] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.p0051_layoutfiles/.MainActivity }
А это логи LogCat:
04-01 06:52:12.989: I/dalvikvm(1213): threadid=3: reacting to signal 3
04-01 06:52:13.449: I/dalvikvm(1213): Wrote stack traces to '/data/anr/traces.txt'
04-01 06:52:13.519: I/dalvikvm(1213): threadid=3: reacting to signal 3
04-01 06:52:13.630: I/dalvikvm(1213): Wrote stack traces to '/data/anr/traces.txt'
04-01 06:52:14.039: I/dalvikvm(1213): threadid=3: reacting to signal 3
04-01 06:52:14.169: I/dalvikvm(1213): Wrote stack traces to '/data/anr/traces.txt'
04-01 06:52:14.410: D/AndroidRuntime(1213): Shutting down VM
04-01 06:52:14.410: W/dalvikvm(1213): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
04-01 06:52:14.480: E/AndroidRuntime(1213): FATAL EXCEPTION: main
04-01 06:52:14.480: E/AndroidRuntime(1213): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.p0051_layoutfiles/com.example.p0051_layoutfiles.MainActivity}: java.lang.IllegalArgumentException: No view found for id 0x7f080000 for fragment PlaceholderFragment{41034508 #0 id=0x7f080000}
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.ActivityThread.access$600(ActivityThread.java:123)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.os.Looper.loop(Looper.java:137)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.ActivityThread.main(ActivityThread.java:4424)
04-01 06:52:14.480: E/AndroidRuntime(1213): at java.lang.reflect.Method.invokeNative(Native Method)
04-01 06:52:14.480: E/AndroidRuntime(1213): at java.lang.reflect.Method.invoke(Method.java:511)
04-01 06:52:14.480: E/AndroidRuntime(1213): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-01 06:52:14.480: E/AndroidRuntime(1213): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-01 06:52:14.480: E/AndroidRuntime(1213): at dalvik.system.NativeStart.main(Native Method)
04-01 06:52:14.480: E/AndroidRuntime(1213): Caused by: java.lang.IllegalArgumentException: No view found for id 0x7f080000 for fragment PlaceholderFragment{41034508 #0 id=0x7f080000}
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:822)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.BackStackRecord.run(BackStackRecord.java:622)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1382)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.Activity.performStart(Activity.java:4474)
04-01 06:52:14.480: E/AndroidRuntime(1213): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1929)
04-01 06:52:14.480: E/AndroidRuntime(1213): ... 11 more
04-01 06:52:14.570: I/dalvikvm(1213): threadid=3: reacting to signal 3
04-01 06:52:14.741: I/dalvikvm(1213): Wrote stack traces to '/data/anr/traces.txt'
04-01 06:52:15.209: I/dalvikvm(1213): threadid=3: reacting to signal 3
04-01 06:52:15.380: I/dalvikvm(1213): Wrote stack traces to '/data/anr/traces.txt'
04-01 06:52:15.719: I/dalvikvm(1213): threadid=3: reacting to signal 3
04-01 06:52:15.919: I/dalvikvm(1213): Wrote stack traces to '/data/anr/traces.txt'
04-01 06:52:20.859: I/Process(1213): Sending signal. PID: 1213 SIG: 9
Пробовал указывать разные версии ОС - ничего.

siberprogs
Сообщения: 93
Зарегистрирован: 05 мар 2014, 06:20

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение siberprogs » 01 апр 2014, 10:42

Sig_al писал(а):Хм. А вот у меня проблема. :( Пока не трогал MainActivity.java, всё работало. Но как только изменил строку на setContentView(R.layout.myscreen);... Всё компилируется, загружается в эмулятор, но при запуске приложения появляется Unfortunalely, LayoutFiles has stopped и всё сворачивается. Когда загружаю apk-файл на свой смартфон, реакция та же.
Попробуй прочитать предыдущий пост.
Linux Fedora RFRemix + Intellij Idea

javajunior
Сообщения: 17
Зарегистрирован: 29 мар 2014, 17:23

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение javajunior » 01 апр 2014, 12:45

Sig_al
Чуть чуть выше по посту описывается решение проблемы.

DenLeo
Сообщения: 13
Зарегистрирован: 28 мар 2014, 16:09

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение DenLeo » 01 апр 2014, 15:22

javajunior писал(а):
Hello_world писал(а):
siberprogs писал(а):По моему я понял в у них ошибка. Согласно уроку в папке layout-land создают myscreen.xml который при портретном режиме должен заменить main.xml. А так как теперь проекты создаются с фрагментами - то myscreen.xml нужно использовать вместо fragment_main.xml.
Я даже до создания папки res/layout-land не дошел.
создал в res/layout myscreen.xml. Добавил TextView через Properties. Проверил R.java новая константа для этого файла - R.layout.myscreen создана. Сохранил, запустил. Приложение закрывается.
Эту строку тоже менял: View rootView = inflater.inflate(R.layout.myscreen, container, false);
return rootView;
Не идет. Придется обратиться к другому ресурсу для начинающих

Sig_al
Сообщения: 2
Зарегистрирован: 01 апр 2014, 09:41
Откуда: Россия, Ставрополь

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Sig_al » 01 апр 2014, 15:49

siberprogs писал(а):
Sig_al писал(а):Хм. А вот у меня проблема. :( Пока не трогал MainActivity.java, всё работало. Но как только изменил строку на setContentView(R.layout.myscreen);... Всё компилируется, загружается в эмулятор, но при запуске приложения появляется Unfortunalely, LayoutFiles has stopped и всё сворачивается. Когда загружаю apk-файл на свой смартфон, реакция та же.
Попробуй прочитать предыдущий пост.
Получается, что всё дело в фрагментах? То есть нужно вырезать все ссылки на них из MainActivity.java? И избавиться от fragment-main.xml путём переноса его содержимого в main.xml? Только так всё работает.

siberprogs
Сообщения: 93
Зарегистрирован: 05 мар 2014, 06:20

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение siberprogs » 01 апр 2014, 17:55

DenLeo писал(а): Эту строку тоже менял: View rootView = inflater.inflate(R.layout.myscreen, container, false);
return rootView;
Не идет. Придется обратиться к другому ресурсу для начинающих
myscreen нужно только в этой строке прописывать, а в onCreate ничего менять не нужно.
Linux Fedora RFRemix + Intellij Idea

YettyZzZone
Сообщения: 8
Зарегистрирован: 03 фев 2014, 15:40
Откуда: Izhevsk

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение YettyZzZone » 01 апр 2014, 21:29

Замучился я с этими эмуляторами, уже штук 5 перепробовал и у всех проблемы со сменой ориентации. Решил тестить программы на своем S4. Правда приходится в ручную из папки bin устанавливать apk-шники, потому что Eclipse не распознает смартфон. Может кто может помочь? Драйвера поставились (пробовал вручную обновлять с папки google - не помогает), в диспетчере устройств отображается
1.jpg
1.jpg (100.27 КБ) 15041 просмотр
, а в самой программе лежит неопознанным.
2.jpg
2.jpg (40.37 КБ) 15041 просмотр

javajunior
Сообщения: 17
Зарегистрирован: 29 мар 2014, 17:23

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение javajunior » 01 апр 2014, 21:33

Просто тупо извлеки провод USB из системы и снова подключи, должно заработать. Сто раз встречаюсь с таким вариантом. При долгом простое устройство отключается.

YettyZzZone
Сообщения: 8
Зарегистрирован: 03 фев 2014, 15:40
Откуда: Izhevsk

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение YettyZzZone » 01 апр 2014, 21:36

javajunior писал(а):Просто тупо извлеки провод USB из системы и снова подключи, должно заработать. Сто раз встречаюсь с таким вариантом. При долгом простое устройство отключается.
Не помогает, сразу показывает что устройство Offline. :(
UPD: Оказывается на смартфоне нужно было дать разрешение на подключение к компьютеру, я сначала не заметил его, каюсь :D Теперь все распознается.

DenLeo
Сообщения: 13
Зарегистрирован: 28 мар 2014, 16:09

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение DenLeo » 02 апр 2014, 05:11

siberprogs писал(а):
DenLeo писал(а):
myscreen нужно только в этой строке прописывать, а в onCreate ничего менять не нужно.
Благадарю. Проект запустился.

Отложу уроки, почитаю JAVA, и вернусь

Аватара пользователя
maraby
Сообщения: 24
Зарегистрирован: 17 мар 2014, 09:19

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение maraby » 02 апр 2014, 15:50

DAlex писал(а):
maraby писал(а):Здравствуйте!
При запуске на смартфоне проект вылетает
повторила урок (с другим названием) в самого начала:
Обязательно сохраняем. Чтобы в R.java появилась новая константа для этого файла - R.layout.myscreen
Не могу найти в R.java этой константы

В чем моя ошибка?
Посмотрите не "setContentView(R.layout.main);" а

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

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
        	View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            return rootView;
В нем заменить fragment_main. Это отличается от содержания урока и скорее всего из-за версии ПО.

Спасибо огромное, помогло. а в чем соль? где копать? и в чем различие урока и пофиксенного решения?

Аватара пользователя
VladGrey
Сообщения: 4
Зарегистрирован: 09 апр 2014, 11:42

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение VladGrey » 09 апр 2014, 13:07

DenLeo писал(а):
javajunior писал(а):
Hello_world писал(а):
siberprogs писал(а):По моему я понял в у них ошибка. Согласно уроку в папке layout-land создают myscreen.xml который при портретном режиме должен заменить main.xml. А так как теперь проекты создаются с фрагментами - то myscreen.xml нужно использовать вместо fragment_main.xml.
Я даже до создания папки res/layout-land не дошел.
создал в res/layout myscreen.xml. Добавил TextView через Properties. Проверил R.java новая константа для этого файла - R.layout.myscreen создана. Сохранил, запустил. Приложение закрывается.
Эту строку тоже менял: View rootView = inflater.inflate(R.layout.myscreen, container, false);
return rootView;
Не идет. Придется обратиться к другому ресурсу для начинающих
Чтобы появлялось окно необходимо содержание заголовка RelativeLayout из файла fragment_mai.xml скопировать в заголовок LinearLayout файла myscreen.xml.
Потратил разбираясь около часа, но теперь все работает и проект запускается сразу и без ошибок.

Pu1s
Сообщения: 16
Зарегистрирован: 21 апр 2014, 02:08

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Pu1s » 24 апр 2014, 10:10

Всем добрый день. Вопрос по ориентации.

Возможно ли сделать так, чтоб в написанной программе была только горизонтальная ориентация и все? Т.е. как не крути гаджет, программа вертеться не будет. Все время в горизонтальном положении.

Если возможно, то распишите как это реализовать.

Ответить