@android_ru

Страница 1892 из 3205
Eugene
20.08.2017
17:03:09
@Harmonizr, ну у меня пока таргет 25, но на будущее учту, спасибо

Artem
20.08.2017
17:03:11
там своя особенность. Юзать startForeground или чет такое

Igor
20.08.2017
17:03:37
Quantum Harmonizer
20.08.2017
17:04:42
Google
Ruben
20.08.2017
17:06:14
https://developer.android.com/preview/behavior-changes.html

The startService() method now throws an IllegalStateException if an app targeting Android O tries to use that method in a situation when it isn't permitted to create background services.

Igor
20.08.2017
17:06:51
Мб PendingIntent создавать сразу для сервиса?
И что с ним делать (назначить на кнопку нотификации)? В общем я понял, тихо синхронизировать данные с сервером на пушах, теперь мувитон.

Igor
20.08.2017
17:08:26
Дык пуши же в сервис приходят!
А, ну ок (видать подзабыл, почему-то казалось что в ресиверы).

Quantum Harmonizer
20.08.2017
17:09:58
А, ну ок (видать подзабыл, почему-то казалось что в ресиверы).
Если бы и в ресиверы — можно позвать JobScheduler оттуда. Вот только объёмы говнокода растут)

Антон
20.08.2017
17:39:55
Nikita
20.08.2017
17:56:05
Спасибо большое

Konstantine
20.08.2017
18:00:07
Нормально ли, если у меня IntentService делает что-то в фоне - переопределить ему onStartCommand в START_STICKY, чтобы при закрытии приложения сервис продолжил работу? Или плохая идея?

Gerc
20.08.2017
19:59:39
Это и интентсервис депрекетед?

Konstantine
20.08.2017
20:01:41
интент сервис по своей природе при завершении работы умырает
Я знаю. Но вроде, если я запущу его, а пока он работает закрою приложение, то он не закончив свою работу тоже умрет, нет? А мне надо, чтобы доделал в любом случае.

Google
Konstantine
20.08.2017
20:02:15
не должен вроде
Хм, просто проверить возможности нет сейчас. %(

Sergey
20.08.2017
20:02:55
Хм, просто проверить возможности нет сейчас. %(
во всяком случае его можно попробовать прикрепить к нотицикации

Konstantine
20.08.2017
20:03:14
во всяком случае его можно попробовать прикрепить к нотицикации
Это ясно, старФорграунд и все дела, но я именно про полный бэк.

Sergey
20.08.2017
20:11:05
коим IntentService и является

Konstantine
20.08.2017
20:11:33
попробуй обычный сервис + свой HandlerThread
Да это крайняк. Просто IntentService сам по себе уже реализует работу в другом потоке, не надо париться.

Lilian
20.08.2017
21:06:34
https://medium.com/wiselteach/firebase-jobdispatcher-androidmonk-3e6d729ed9ce

Konstantine
20.08.2017
21:06:51
FirebaseJobDispatcher пробовал юзать?
Неа, посмотрим, спасибо)

Lilian
20.08.2017
21:07:18
Работает супер

Правда не знаю как вкрутить его в MVP

Konstantine
20.08.2017
21:09:29
Пока в любом случае буду пробовать сервисами, а там посмотрим)

Aleksey
20.08.2017
21:11:14
да какая связь между сервисом и MVP, вы чо ребят ?

Никита
20.08.2017
21:23:37
Привет, ребята. Может кто знает, как можно в Unit тесте создать объект, который был введен, начиная с Lollipop. Просто сейчас объект создается, но все его поля null.

Никита
20.08.2017
21:29:20
Его там вообще не должно быть по-хорошему
Допустим мне надо протестировать враппер метода, который доступен начиная с Lollipop и который возвращает объект класса, который был введен начиная с Lollipop.

Никита
20.08.2017
21:30:25
хотите сказать, что это будет инструментальный, да?

Sergey
20.08.2017
21:30:33
да

Google
Konstantine
20.08.2017
21:47:02
да какая связь между сервисом и MVP, вы чо ребят ?
Речь о том, как такой сервис пристроить в MVP. Какая связь между активностью/фрагментов и MVP? Тоже никакой, но мы их почти всегда вьюшками считаем, вот и тут хочу разобраться - как это реализовывать, чтобы не ломать МВП.

Konstantine
20.08.2017
21:48:52
Aleksey
20.08.2017
21:50:55
Чего же?)
Activity/Fragment - компонент OS, который принимает участие в отображение. Мы еще и интерфейс нашей View им имплементим. Так же можно вместо Activity/Fragment использовать просто View из SDK, но она так же будет имплементить интервейс нужной нам View. Service-же к отображению не имеет никакого отношения. Это просто контейнер, который содержит в себе M из MVP. все.

Если не прав - поправьте.

Aleksey
20.08.2017
21:54:09
Чего прицепились все к отображению тупо? Я и спрашиваю - какое место в MVP занимает сервис. И почему именно модель? Как связан сервис и модель?
а чем еще? Presenter? View? при работе с Service значение имеет только ваша бизнес-логика и все. Interactor'ы там и все такое. это уже про Clean больше.

Konstantine
20.08.2017
21:54:19
Никакого не занимает. Сервис — это контроллер.
Ясно, что сам по себе сервис не занимает. Как и другие компоненты андроида. Речь о том, какое должен занимать. Что в него стоит имплементить, чтобы вписать в мвп?

Никита
20.08.2017
21:54:56
Банально SparseArray взял где-нибудь в интеракторе — что тут неправильного?
С SparseArray проще. Его добавили в support.v4, поэтому у него все должно отработать.

Konstantine
20.08.2017
21:55:12
а чем еще? Presenter? View? при работе с Service значение имеет только ваша бизнес-логика и все. Interactor'ы там и все такое. это уже про Clean больше.
Я не особо силен в архитектурах, но модель вроде отвечает в большинстве своем за данные. Получение, сохранение и пр. дребудень. А сервис может выполнять разные дела.

Konstantine
20.08.2017
21:56:02
Не надо ничего имплементить, потому что сервису нет места в МВП, это контроллер.
То есть при работе с мвп отказываться от сервисов? Я не вдуплю о чем речь у вас. Мне вот сервис нужен, хочу сделать приложение с использованием MVP. Мне все сделать как надо и именно у сервисов забить на архитектуру и лепить как хочу? Какой-то хуевый подход)

Konstantine
20.08.2017
21:56:20
с данными.
Так. И если у меня сервис не работает с данными, а тупо делает какое-то дело - что тогда?

Google
Konstantine
20.08.2017
21:56:37
Делайте его, не думайте об МВП
А я хочу думать. Я вникаю в него, разбираюсь, как я могу не думать о нем?

Aleksey
20.08.2017
21:56:45
какое дело он делает?

Konstantine
20.08.2017
21:56:56
"какое-то дело" - это про данные
Изменить вьюху это про данные?

Aleksey
20.08.2017
21:57:04
А я хочу думать. Я вникаю в него, разбираюсь, как я могу не думать о нем?
думать об МВП тогда, когда вы работаете с отображением

Usman
20.08.2017
21:57:19
Изменить вьюху это про данные?
Как вы через сервис будете менять вьюху?

Konstantine
20.08.2017
21:57:21
это про презентер
Но сами выше написали, что сервис - это модель.

Admin
ERROR: S client not available

Aleksey
20.08.2017
21:57:55
Но сами выше написали, что сервис - это модель.
ну да, он никакого отношения не имеет к View и Presenter

Konstantine
20.08.2017
21:57:58
Как вы через сервис будете менять вьюху?
Биндить? Через хендлеры и посты внутри? Как работают плееры у которых музыка играет в сервисе, но при запуске активити - там все актуальные данные отображаются.

Aleksey
20.08.2017
21:58:17
Но сами выше написали, что сервис - это модель.
расскажите лучше задачу, которую вы делаете

Konstantine
20.08.2017
21:58:20
Делать гуй по мвп, а сервис — как-то отдельно.
Так. И как мне тогда не ломая архитектуру вписать то сервис который должен еще и менять вьюху тогда?

Konstantine
20.08.2017
21:59:17
расскажите лучше задачу, которую вы делаете
Возьмем банальный таймер. Запускаю сервис в котором идет отсчет времени - обычный стартФореграунд(), у нас в нотификейшенах висит этот таймер, но если мы открываем вьюшку таймера - там должны данные актуально меняться.

Quantum Harmonizer
20.08.2017
21:59:41
Так. И как мне тогда не ломая архитектуру вписать то сервис который должен еще и менять вьюху тогда?
«Не ломать архитектуру» — задача сама по себе нездоровая. Стоит просто писать понятный и хороший код :)

Konstantine
20.08.2017
22:00:18
Так же написал пример с плеерами. Музыка играет в сервисе. Открываем вью - у нас показан актуальный трек (который играет), актуально обновляется время на котором сейчас трек и пр.

Konstantine
20.08.2017
22:00:57
«Не ломать архитектуру» — задача сама по себе нездоровая. Стоит просто писать понятный и хороший код :)
Это все прекрасно. Но я тут именно хочу с MVP разобраться. Можно красиво написать вообще без архитектуры, если приложение мелкое, не о том сейчас дело :)

Google
Konstantine
20.08.2017
22:01:18
Здесь сервис похож на презентер.
но вот человек уверенно заявил, что сервис - тупо модель.

Usman
20.08.2017
22:01:25
Здесь сервис похож на презентер.
Почему контроллер, я так и не понял

Konstantine
20.08.2017
22:02:03
Телеграм тоже написан красиво и без архитектуры, а простым не является
Красиво это спорно) В нем хер разберешься без стопарика)

Konstantine
20.08.2017
22:02:22
МВП предназначен для типичных задач, а не для этой.)
А где ж это не типичная то? Сервисы котоыре изменяют вид встречаются очень часто)

Aleksey
20.08.2017
22:02:50
Здесь сервис похож на презентер.
какая-то дезинформация, имхо. почему бы не использовать какой-нибудь общий объект, который работает с данными и инжектить и в сервис, и в презентер?

Quantum Harmonizer
20.08.2017
22:02:51
Konstantine
20.08.2017
22:03:21
«Очень» — это сколько единиц на тысячу приложений?
Статистики не веду, но многие большие приложения имеют нечто такое у себя)

Quantum Harmonizer
20.08.2017
22:04:04
Aleksey
20.08.2017
22:05:34
Не знаю, почему бы не инжектить. Как это отменяет то, что сервис здесь играет роль презентера?
хм, хорошо, может, в подобном кейсе он может быть чем-то подобным.

Ну вот с таймером - как бы сам реализовал? Что бы сделал, если бы именно с MVP работал?
какой-нибудь Rx-поток данных, который отдает таймер, а дальше смотреть, есть ли вьюха приаттаченная если да, то кидать в нее данные, если нет, в уведомление

и да, это скорее всего был бы презентер, которой един для Service, и для View

в кач-ве профита - полная абстракция от компонентов Android

Konstantine
20.08.2017
22:12:03
Кстати, кто-нибудь пользуется при создании лейаутов окошком которое Design? А то говорят с ConstraintLayout можно творить там достаточно удобно, в общем-то да, сейчас пробую, но XML получается таким огромным и уродливым, что аж бе %) Раньше всегда тупо через XML сам делал все

Правда через старые компоненты только вроде Линеяр или Релатив.

Страница 1892 из 3205