Урок 10. Оптимизируем реализацию обработчиков.

Обсуждение уроков
Аватара пользователя
kharkovvip
Сообщения: 1
Зарегистрирован: 01 дек 2014, 03:36

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение kharkovvip » 01 дек 2014, 03:42

Ребят, вот, правда - переходите на Android Studio !
Читаю и сочувствую, а ведь многих багов могло не быть просто из-за пользования IDEA )))

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение klblk » 01 дек 2014, 07:32

kharkovvip писал(а):Ребят, вот, правда - переходите на Android Studio !
Читаю и сочувствую, а ведь многих багов могло не быть просто из-за пользования IDEA )))
1) Студия тоже не идеальна.
2) Есть люди у которых почему-то нет проблем с эклипсом.

finberg
Сообщения: 51
Зарегистрирован: 11 мар 2013, 14:20

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение finberg » 01 дек 2014, 09:44

Кто работал и в студии и в эклипсе, скажите имеет смысл дергаться?
Чтобы не тратить зря время и не проверять на своей шкурке.

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

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Mikhail_dev » 01 дек 2014, 10:32

Однозначно есть смыл дёргаться. В эклипсе масса багов. Почти каждое обновление ADT - это танцы с бубном. еще радуют частые проблемы генерирования файла R. при этом не всегда помогают стандартные методы ребилда, очистки проекта и прочее. И это еще капля в море.
Те кто ругает студию похоже совсем забывает о том, что есть еще IDEA 14, которая уже много лет в релизе и работает стабильно, и более является более качественным продуктом, нежели эклипс. И бесплатная версия есть. Так что выбор слезть с эклипса есть.
2) Есть люди у которых почему-то нет проблем с эклипсом.
"Потыкайте в них палочкой. Возможно они мертвые" (с) по мотивам какого-то анекдота

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение klblk » 01 дек 2014, 12:05

Mikhail_dev писал(а):Однозначно есть смыл дёргаться. В эклипсе масса багов. Почти каждое обновление ADT - это танцы с бубном. еще радуют частые проблемы генерирования файла R. при этом не всегда помогают стандартные методы ребилда, очистки проекта и прочее. И это еще капля в море.
Те кто ругает студию похоже совсем забывает о том, что есть еще IDEA 14, которая уже много лет в релизе и работает стабильно, и более является более качественным продуктом, нежели эклипс. И бесплатная версия есть. Так что выбор слезть с эклипса есть.
2) Есть люди у которых почему-то нет проблем с эклипсом.
"Потыкайте в них палочкой. Возможно они мертвые" (с) по мотивам какого-то анекдота
Проблема с обновлением ADT была единожды, когда просто не работал "Check for Updates", решилась переустановкой плагина (2-3 минуты). У ADT часто проблемы при создании новых проектов, но ведь новые проекты создаются не так часто, да и проблемы решаемые в несколько кликов.
Проблемы с генерацией R файлов возникали только в случае ошибок в xml (но что-то мне подсказывает что студия будет вести себя примерно также в таком случае). Еще определённо имеются проблемы со сборкой Eclipse от гугл, потому я рекомендую часто скачивать эклипс с офф сайта.

"Потыкал палочкой", вроде бы живой =)

Я не говорю что AS это плохо, просто я не считаю что она на три головы выше Eclipse. Хотя для новичков, кому поменять версию API в проекте является проблемой, AS подходит наверное лучше.
Сам я работаю и там и там.

П.С. Простите меня за оффтопы=)

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

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Foenix » 01 дек 2014, 13:59

klblk писал(а): Я не говорю что AS это плохо, просто я не считаю что она на три головы выше Eclipse. Хотя для новичков, кому поменять версию API в проекте является проблемой, AS подходит наверное лучше.
Сам я работаю и там и там.
Аналогично. Я не считаю, что АС (особенно для новичка) намного лучше эклипса. Проблем хватает и там и там.
R.id.team

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

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение doter.ua » 01 дек 2014, 14:21

Гугл поддерживает студию, соответственно затачивает свой продукт под него. Для примера все экзамплы на сайте сделаны для студии, а для эклипс: Project downloads for Eclipse will be available soon! и так уже больше года. Вообще intellij idea более прогрессивная в плане наворотов, с помощью которых можно штопать код очень быстро и удобно, но новичка все эти мелочи только сбивают с толку.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

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

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Mikhail_dev » 01 дек 2014, 15:39

Вы такие забавные, особенно Инна. Я говорю "не нравится студия из-за проблем - переходите на IDEA", но нет, мы пропустим мой комментарий и снова будем говорить о мнимых проблемах студии. Почему мнимые? Да потому что за всё время я не услышал ни одной вещи от вас о проблемах. А все комментарии "она тормозит и еле дергается", это так необъективно звучит...
Мне лично без разницы на чем вы программируете, я просто объективно смотрю на вещи, как и doter.ua, как и львиная доля Android разработчиков.
Проблема с обновлением ADT была единожды, когда просто не работал "Check for Updates", решилась переустановкой плагина (2-3 минуты). У ADT часто проблемы при создании новых проектов, но ведь новые проекты создаются не так часто, да и проблемы решаемые в несколько кликов.
нет, у ADT проблемы чуть ли с каждым апдейтом по крайней мере до версии 4.0 эклипса, после чего я им уже не пользовался. Это общеизвестный факт, который подтверждается многочисленными темами что на этом форуме, что на stackoverflow.

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

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Foenix » 01 дек 2014, 16:03

Mikhail_dev писал(а): я просто объективно смотрю на вещи
Миша, ты считаешь свое мнение объективным. Поэтому я не считаю нужным описывать проблемы студии лично у меня на компьютере. А зачем? С ними не все сталкиваются. И пусть так будет.
Я не агитирую за эклипс. Я за то, чтоб каждый выбирал себе то, что ему нравится. Причем выбрал сам, а не из-за навязанного кем-то мнения.
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: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Mikhail_dev » 01 дек 2014, 17:07

А я навязываю людей пользоваться нормальными продуктами. И да, моё мнение тут объективное, ибо ни для кого не секрет (ну почти ни для кого), что IDEA занимает лидирующие позиции как минимум в андроиде, особенно по качеству. Eclipse хороший продукт, он open source и я уважаю его разработчиков, но тут он проигрывает.

zaabifff
Сообщения: 1
Зарегистрирован: 07 дек 2014, 22:40

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение zaabifff » 29 янв 2015, 14:16

Подскажите, пожалуйста. Я так понимаю, урок 10 в AndroidStudio реализуется как-то совершенно иначе? Ведь формат вызова OnClickListener по сравнению с eclipse поменялся и теперь его возможно присвоить только определенному View элементу?
Было
OnClickListener oclBtn = new OnClickListener()
Стало
btnOk.setOnClickListener(new View.OnClickListener()
То есть создать один обработчик не получается. В чем я не прав и как реализовать один обработчик нажатий?

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение doter.ua » 29 янв 2015, 16:51

zaabifff писал(а):Подскажите, пожалуйста. Я так понимаю, урок 10 в AndroidStudio реализуется как-то совершенно иначе? Ведь формат вызова OnClickListener по сравнению с eclipse поменялся и теперь его возможно присвоить только определенному View элементу?
Было
OnClickListener oclBtn = new OnClickListener()
Стало
btnOk.setOnClickListener(new View.OnClickListener()
То есть создать один обработчик не получается. В чем я не прав и как реализовать один обработчик нажатий?
btnOk.setOnClickListener( this ); В данном случае this - активити. Которое теперь должно имплементировать ( содержать метод с определенным названием и параметрами на вход) implements View.OnClickListener. Этот метод - onClick(View v ).
На самом деле нужно всего лишь указать setOnClickListener(this) а потом, с помощью ALT + Enter выбрать make МоеАктивити implement бла бла, и студия сама создаст метод.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

AlexeyFedor
Сообщения: 31
Зарегистрирован: 03 сен 2013, 14:26

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение AlexeyFedor » 31 янв 2015, 16:42

Небольшое замечание.
Если метод onClick описывать в xml файле. То создавать объект Button в Activity совершенно не обязательно.

Petrik
Сообщения: 18
Зарегистрирован: 12 фев 2015, 18:10

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Petrik » 12 фев 2015, 18:13

Здравствуйте, а можно ли таким способом сделать так, что бы при нажатии на кнопку менялся её цвет, если да то как, а если нет, то где про это можно прочитать?

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение doter.ua » 12 фев 2015, 22:37

Petrik писал(а):Здравствуйте, а можно ли таким способом сделать так, что бы при нажатии на кнопку менялся её цвет, если да то как, а если нет, то где про это можно прочитать?
Можно, задать кнопке дровабл с нужным цветом (заливкой)
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

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

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Foenix » 12 фев 2015, 22:50

Petrik писал(а):Здравствуйте, а можно ли таким способом сделать так, что бы при нажатии на кнопку менялся её цвет, если да то как, а если нет, то где про это можно прочитать?
тебе нужен selector.
R.id.team

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

Petrik
Сообщения: 18
Зарегистрирован: 12 фев 2015, 18:10

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Petrik » 18 фев 2015, 18:27

Что т не получается. Я вообще в том направлении иду?
[syntax=java]
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
button1.setBackgroundColor ()
[/syntax]

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение doter.ua » 18 фев 2015, 18:41

Petrik писал(а):Что т не получается. Я вообще в том направлении иду?
[syntax=java]
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
button1.setBackgroundColor ()
[/syntax]
Изменять после нажатия или когда палец на экране (pressed_state) ?

1)

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

   v.setBackgroundColor(Color.parseColor("#ff0000"));
2) В папке drawable создать файл bg.xml с содержимым:

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

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item 
            android:drawable="@drawable/image_one"
            android:state_pressed="true" />
    
        <item 
            android:drawable="@drawable/image_two" />
    </selector>
потом задать кнопке фон android:background="@drawable/bg"
в этом случае обработчики не нужны
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение klblk » 19 фев 2015, 08:04

1) Курсор на нужное место
2) Alt+Enter
3) Implements methods

Алемарика
Сообщения: 7
Зарегистрирован: 17 фев 2015, 12:34

Re: Урок 10. Оптимизируем реализацию обработчиков.

Сообщение Алемарика » 20 фев 2015, 15:53

Ребята, подскажите, пожалуйста.

Сделала все по уроку 10. Только не поняла. Если так просто можно реализовать через xml файл, то зачем способ использования MainActivity как обработчика (и для меня вообще оказался не простой).

P.s. я пока разбираюсь только в самых азах, но хочется знать как правильно (и почему).

Спасибо.

Ответить