Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 19 дек 2018, 17:37

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 192 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.
Автор Сообщение
СообщениеДобавлено: 27 фев 2015, 06:57 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
Foenix писал(а):
На самом деле все это бесполезно. Компилятор и иак все плюсы переводит к StringBuilder- у


В данном случае полезно и оптимизация mikekekeke имеет место быть. Если бы там вся строка через "+" была написана то да, без разницы.
а так получаем 4 промежуточных StringBuilder'а, а уже потом добавляются к исходному StringBuilder'у.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 14. Меню, группы, порядок.
СообщениеДобавлено: 03 мар 2015, 14:50 

Зарегистрирован: 17 фев 2015, 12:34
Сообщений: 7
Благодарил (а): 2 раз.
Поблагодарили: 2 раз.
У меня снова идеологический вопрос. Как лучше создавать меню - программно или через xml? И как в будущем определить, что лучше создавать какие-то объекты. (загуглить не удалось)

С одной стороны, нашла такой коммент:

AndreyI писал(а):
damager82 писал(а):
В смысле создание меню из xml-файлов? Да, чет я пропустил в свое время эту фишку.

Вообще-то, если придерживаться одной методологии изложения, то как раз таки лучше с этой "фишки" начать знакомство с меню и указать как основной способ, а уже программные способы создания рассмотреть как дополнение. Меню являются частью ресурсов любого приложения (и не только Андроид) и при хорошем стиле программирования они должны именно так и определяться.
Ведь цель любого учебника не только доводить (я бы сказал, не столько) до читателя информацию, но и прививать хорошие стили программирования, заложить так сказать фундамент. Если не прав, можете кинуть в меня камень ;)


С другой стороны, про обработку кнопки, наоборот, не советовалось делать через xml
klblk писал(а):

Через xml может быть и просто, но...
....
1) Подход через интерфейсы более подходит для Java (и так как любой Android разработчик отчасти Java разработчик это ему удобнее)
2) Когда что-то происходит неявно, это не очень хорошо. Например над проектом работает два человека. Пусть это вы, кто делает обработчики в XML и кто-то, кто так не делает. Пусть тот второй напишет обработчик как он привык. Вы смотрите его код: о кнопка, о обработчик кнопки, все понятно. Теперь вы сделали через xml. Второй смотрит ваш код. О функция "onClickStart()", нигде не используется, пожалуй ее можно удалить. И он удалит и после этого проект даже может быть собирется (хотя я не проверял), но приложение точно упадет при нажатии этой злополучной кнопки. Если же реализовать все явно через интерфейсы, то: а) удалите интерфейс, ide начнет ругаться на setOnClickListener и @Override у метода onClick; б) удалите метод onClick - будет ругаться на отсутствие метода; в) а setOnClickListener вы не удалите, потому что в этой строчке четко и ясно говорится что назначается слушатель для кнопки.
3) xml это внешний вид, программирование оставьте для Java

а вообще пятница, вечер я устал, не слушайте меня.


Видение мира раздвоилось. Помогите собрать, пожалуйста!

P.s. Я понимаю, что меню и обработчик кнопки совсем разные вещи. Я не понимаю, по какому критерию определить что куда совать..


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 мар 2015, 07:03 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
То что относится к созданию интерфейса (UI) и к ресурсам по возможности описывать в xml. То что касается логики делать в Java.
Саму кнопку описываете в XML, обработчик этой кнопки в JAVA.
Также и с меню. Описание в XML. Обработка нажатий в Java.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 мар 2015, 13:14 

Зарегистрирован: 17 фев 2015, 12:34
Сообщений: 7
Благодарил (а): 2 раз.
Поблагодарили: 2 раз.
klblk писал(а):
То что относится к созданию интерфейса (UI) и к ресурсам по возможности описывать в xml. То что касается логики делать в Java.
Саму кнопку описываете в XML, обработчик этой кнопки в JAVA.
Также и с меню. Описание в XML. Обработка нажатий в Java.


Четко, понятно, по делу. Спасибо большое!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 14. Меню, группы, порядок.
СообщениеДобавлено: 17 мар 2015, 15:17 

Зарегистрирован: 26 фев 2015, 16:20
Сообщений: 3
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Алемарика писал(а):

С другой стороны, про обработку кнопки, наоборот, не советовалось делать через xml


На developer.android.com даётся вообще один способ создания обработчика для кнопки - через XML (в смысле привязки обработчика к кнопке)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 14. Меню, группы, порядок.
СообщениеДобавлено: 18 мар 2015, 08:02 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
mikekekeke писал(а):
Алемарика писал(а):

С другой стороны, про обработку кнопки, наоборот, не советовалось делать через xml


На developer.android.com даётся вообще один способ создания обработчика для кнопки - через XML (в смысле привязки обработчика к кнопке)


два: http://developer.android.com/reference/android/widget/Button.html


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 мар 2015, 22:21 

Зарегистрирован: 26 фев 2015, 16:20
Сообщений: 3
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
klblk писал(а):
mikekekeke писал(а):
Алемарика писал(а):

С другой стороны, про обработку кнопки, наоборот, не советовалось делать через xml


На developer.android.com даётся вообще один способ создания обработчика для кнопки - через XML (в смысле привязки обработчика к кнопке)


два: http://developer.android.com/reference/android/widget/Button.html


Ох... Я судил по вводному курсу просто. А почему 3й вариант с интерфейсом не даётся? Вроде как он более экономичный в плане памяти (мне просто интересно =) )


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 19 мар 2015, 08:04 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
mikekekeke писал(а):
Ох... Я судил по вводному курсу просто. А почему 3й вариант с интерфейсом не даётся? Вроде как он более экономичный в плане памяти (мне просто интересно =) )


Потому что developer.android.com это документация. Главное рассказать разработчику, что есть такой интерфейс, а как его можно использовать он знает. Startandroid.ru это же учебник, и многие сюда приходят, даже не знаю элементарную Java-базу и им приходится всё разжёвывать. А имплемментить интерфейс классу или создавать отдельный экземпляр интерфейса зависит от задачи и решения разработчика.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 08 апр 2015, 15:06 

Зарегистрирован: 03 апр 2015, 19:34
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Выполняю данный урок. Когда приложение тестирую на телефоне и нажимаю кнопку меню. приложение закрывается с текстом (В приложении "P0141_MenuAdv" произошла ошибка.) и что делать? я вообще в потере в такой ситуации...


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 08 апр 2015, 16:54 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
kuller писал(а):
Выполняю данный урок. Когда приложение тестирую на телефоне и нажимаю кнопку меню. приложение закрывается с текстом (В приложении "P0141_MenuAdv" произошла ошибка.) и что делать? я вообще в потере в такой ситуации...

Найди феникса и посмотри в подпись :lol:

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 10 июл 2015, 11:04 

Зарегистрирован: 07 июл 2015, 11:36
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Такая проблема. задний фон меню становиться прозрачным. когда пункты добавляю
Код: [ Загрузить ] [ Скрыть ]
  1.  
  2. @Override 
  3.     public boolean onCreateOptionsMenu(Menu menu) { 
  4.         // Inflate the menu; this adds items to the action bar if it is present. 
  5.         getMenuInflater().inflate(R.menu.menu_main, menu); 
  6.  
  7.         menu.add("menu1"); 
  8.         menu.add("menu2"); 
  9.         menu.add("menu3"); 
  10.  
  11.         return true; 
  12.     } 


все норм. есть задний фон. меняю код или даже если просто в новом проекте пишу
Код: [ Загрузить ] [ Скрыть ]
  1.     @Override 
  2.     public boolean onCreateOptionsMenu(Menu menu) { 
  3.         // Inflate the menu; this adds items to the action bar if it is present. 
  4.         getMenuInflater().inflate(R.menu.menu_main, menu); 
  5.  
  6.         menu.add(0,3,1,"menu1"); 
  7.         menu.add(0,4,5,"menu2"); 
  8.         menu.add(0,2,3,"menu3"); 
  9.  
  10.         return true; 
  11.     } 

фон становится прозрачным. и после это есл даже поменяю код menu.add("menu1"); все равно фон остается прозрачным.

в чем проблема?


Вложения:
Комментарий к файлу: ScreenShot
Screen.JPG
Screen.JPG [ 16.27 KiB | Просмотров: 5637 ]
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 22 июл 2015, 22:29 

Зарегистрирован: 22 июл 2015, 22:26
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Допустим имеется меню, структура которого изменяется в процессе работы, в меню есть пункты с чекбоксами.
Как организовать сохранение состояния чекбоксов в пунктах меню при перестройке структуры?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 05 авг 2015, 16:51 

Зарегистрирован: 23 фев 2015, 13:04
Сообщений: 7
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
Привет всем. В видео уроке №14 Виталий задал домашнее задание, чтобы скрывать группу пунктов меню или один пункт меню с помощью чекбоксов без нажатия на три точки в Action Bar и вызова onPrepareOptionsMenu(Menu menu). Насколько я понял, эти действия должны выполнятся в методе onCreate(). Если да, то нам нужно создать переменную Menu menu и связать её с xml-файлом. Я правильно понимаю? Но как это сделать?
Таким образом
Код: [ Загрузить ] [ Скрыть ]
  1. menu = (Menu) findViewById(R.menu.menu_main) 
это не работает. Без метода findViewById() также. Что я не делаю не так? Или должен быть другой метод? Но как мне знать какой?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 авг 2015, 16:17 
Аватар пользователя

Зарегистрирован: 02 ноя 2013, 15:11
Сообщений: 17
Откуда: Минск
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Вот такой вопрос у меня возник. Сделал все по уроку и пришла в голову идея не скрывать меню после нажатия на один из пунктов. Поясню: хочу сделать, чтобы меню можно было закрыть только по кнопке меню, ну или back. Гугл ничего не рассказал, но натолкнул на одну интересную вещь. У класса menu есть константа FLAG_ALWAYS_PERFORM_CLOSE (http://developer.android.com/reference/ ... /Menu.html), и эта константа используется как флаг в методе performShortcut (int keyCode, KeyEvent event, int flags), но после долгих размышлений не до конца понимаю что за метод, и как эту информацию мне использовать. Кто поможет из опытных?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 29 авг 2015, 22:57 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Может лучше сразу navigation drawer(боковое меню) сделать или диалог? это меню не такое уж и удобное чтобы постоянно висеть.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 авг 2015, 00:19 
Аватар пользователя

Зарегистрирован: 02 ноя 2013, 15:11
Сообщений: 17
Откуда: Минск
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
Может лучше сразу navigation drawer(боковое меню) сделать или диалог? это меню не такое уж и удобное чтобы постоянно висеть.


Я понял, ответ более чем исчерпывающий. Просто есть у пунктов меню checkable, и при нажатии например, оно сразу сворачивается и даже не видно, поставилась галка или нет. То есть по дефолту сделано не аккуратно. Ну и плюс на будущее думал в небольших приложениях, в меню пару настроек например с checkable кинуть и чтобы за одно открытие меню можно было два чека поставить. Ну вообщем понял, что идея на троечку, но если очень сильно надо будет, то думаю наберусь опыта к том времени.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 фев 2016, 11:31 

Зарегистрирован: 17 фев 2016, 09:18
Сообщений: 8
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
почему item.getItemId() в контексте урока, возвращает мне int? Сам метод типа int. Или же все нормально, он так и будет пытаться перевести строковый id в число? Если же нет, как мне получить строковое значение id?
P.S.
(Совсем недавно начал изучать андроид, просьба камнями не кидаться :) )


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 17 фев 2016, 11:35 

Зарегистрирован: 23 фев 2015, 13:04
Сообщений: 7
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
CrazyShotz писал(а):
почему item.getItemId() в контексте урока, возвращает мне int? Сам метод типа int. Или же все нормально, он так и будет пытаться перевести строковый id в число? Если же нет, как мне получить строковое значение id?
P.S.
(Совсем недавно начал изучать андроид, просьба камнями не кидаться :) )

Если метод возвращает значение int, то естественно вы получите число. Если же вам необходимо это число отобразить в виде строки, можете воспользоваться методом String.valueOf(int i)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 фев 2016, 09:05 

Зарегистрирован: 17 фев 2016, 09:18
Сообщений: 8
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
driversti писал(а):
CrazyShotz писал(а):
почему item.getItemId() в контексте урока, возвращает мне int? Сам метод типа int. Или же все нормально, он так и будет пытаться перевести строковый id в число? Если же нет, как мне получить строковое значение id?
P.S.
(Совсем недавно начал изучать андроид, просьба камнями не кидаться :) )

Если метод возвращает значение int, то естественно вы получите число. Если же вам необходимо это число отобразить в виде строки, можете воспользоваться методом String.valueOf(int i)

В том то и дело, что при использовании этого метода я получаю число, вместо строки. Этот метод использовался в контексте урока. То есть String.valueOf(item.getItemId()) преобразовал типы, но не преобразовал значение. Единственное, что не понравилось дебаггеру - это то, что я использовал объект String внутри StringBuilder, что в свою очередь негативно отразится на производительности.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 18 фев 2016, 09:53 

Зарегистрирован: 23 фев 2015, 13:04
Сообщений: 7
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
CrazyShotz писал(а):
То есть String.valueOf(item.getItemId()) преобразовал типы, но не преобразовал значение

Я чего-то не понимаю?! Что вы вкладываете в словосочетание "не преобразовал значение"? Если есть String x = 5, этот метод вернёт int x = 5. Или вам нужно int = "какое-то другое значение отличное от 5"? Объясните что вам нужно


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 192 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB