Pull to refresh

Comments 18

Плохой код -стайл. Если вы пишите для начинающих, ваш код должен быть совершенным и не допускать например такого:

service = new BroadcastReceiver()

Так же куча расхождений с соглашениями Java.
Согласен с вами, буду исправляться.
Вы пришли с C#, или мне показалось?
Я начинающий. Скажите, что не так в такой строчке?
имя переменной вводит в заблуждение. Кажется, что это Service, а на самом деле это BroadcastReceiver. Правильное имя либо receiver, либо serviceIntentReceiver.
Вы достаточно быстро войдёте в курс дела, если поставите Checkstyle на Eclipse. Об этом тоже написано в Хабре. И спасибо за статью.
Есть вопросы:
1. Название: «Взаимодействие между приложением и службой»
а в статье не очень понятно рассказываться про AIDL, который используется реже всего из всех способов взаимодействия
2. Не рассказано в каких случаях и почему надо использовать AIDL
3. Если бы я забыл все про AIDL и притворился «начинающим программистом» я бы не понял ни что такое AIDL, ни как я могу его использовать. А ваше приложение и с помощью Itent'ов отлично стрингами перебрасыватся…
П.С. а как рисовать такие красивые красные рамки, которыми вы помечали все важные моменты на скриншотах?
Отвечу за автора на ПыСы. Хотя сам автор мог использовать другой софт.
greenshot
1. В начале упомянул, что теории практически не будет. Все таки нужно было расписать, что к чему.
2. Да верно, пытался ответить на вопрос «как это сделать?» а нужно было на вопрос «а зачем?».
3. Верно сказано, мне уже объяснили, что есть способы намного лучше и проще.
Рамки делались в фотошопе, хотя подойдет любой графический редактор, например под эти цели хорошо подойдет QipShot.
Да тут и совершенно без AIDL`a можно обойтись. Зачем новичков учить г… ну, вы поняли.
в onBind возвращаем обычный биндер, в onServiceConnected биндер кастуем к нужному типу и через его метод выдираем сам сервис.
if(intent.getAction().equals("AppService")) — и вот это лишнее
Это полезный код, если сервисов несколько. Другое дело, надо было прояснить этот момент.
Не сервисов несколько, а несколько Intent-фильтров. Тогда да. А так он всего один
Да, вы правы, мне уже объяснили, что есть способы намного проще и лучше.
Да, на андроидовском взаимодействие между приложениями и службой и черт споткнётся. Сам помню одну апп три раза переписывал, чтоб разобраться. А хороший топик, как и с чем это кушать — теория и практика, был бы очень полезн.
Ринулся было коммент писать, вчера только писал подобный код и ни о каком AIDL слыхом не слыхивал. У меня все построено на Messenger'ах и прекрасно работает и выглядит гораздо проще, как мне кажется.

На всякий случай, если кому-то хочется посмотреть, вот ссылка на сервис, а вот код активити

В смысле, ринулся писать коммент с критикой, но потом увидел, что народ уже все подробно расписал.
Для получения информации от службы, необходимо зарегистрировать приемник широковещательных сообщений, для этого добавим соответствующий код в методы onCreate и onDestroy приложения:


наверное всё-таки активити, а не приложения?
Sign up to leave a comment.

Articles