
Sergey Mitrofanov
22.10.2017
16:15:56

Gerc
22.10.2017
16:15:57

Quantum Harmonizer
22.10.2017
16:18:09

Google

Gerc
22.10.2017
16:22:22

Sergey Mitrofanov
22.10.2017
16:24:47
Сохраняю в поле внутри Application.
Активити забирает его из Application.
Ну, хранишь данные в апликейшн (экземпляр ретрофита). Ну может под данными ты имел ввиду что-то эдакое, хрен с ним.
Но если смотреть по-факту:
Говоришь хранить данные в апликейшн зло, а сам хранишь (ну пусть "особые" данные). Говоришь синглтон - зло, а сам этот шаблон используешь (пусть не ты его создал).
Ты уж извини, но подобные противоречия в суждениях более присущи непрофессионалу, а резкие категоричные высказывания максимализму переходного возраста.
Таково мое первое впечатление.


Quantum Harmonizer
22.10.2017
16:28:42
Ну, хранишь данные в апликейшн (экземпляр ретрофита). Ну может под данными ты имел ввиду что-то эдакое, хрен с ним.
Но если смотреть по-факту:
Говоришь хранить данные в апликейшн зло, а сам хранишь (ну пусть "особые" данные). Говоришь синглтон - зло, а сам этот шаблон используешь (пусть не ты его создал).
Ты уж извини, но подобные противоречия в суждениях более присущи непрофессионалу, а резкие категоричные высказывания максимализму переходного возраста.
Таково мое первое впечатление.
Если одна активити что-то положила, а вторая пытается забрать, то это хранение данных и всё может навернуться.
Если я создаю ретрофит в onCreate, к моменту старта любой активити его не может не быть — есть проблема с инверсией управления, но не с надёжностью. И это не данные, это, скорее, поведение.
Я вынужден использовать как сами синглтоны, так и объекты с похожей уродской семантикой (те же фрагменты, которым в конструктор ничего нельзя положить — они сами вынуждены разрешать свои зависимости). Но я сам не создаю такого рода классы и другим не рекомендую.


Gerc
22.10.2017
16:30:30

Lord
22.10.2017
16:31:29
Ребят
, привет
как сделать слушатель для актвити?
не могу понять. как сохранять определенное активити перед вызодом из приложения
выходом*

Quantum Harmonizer
22.10.2017
16:32:20

Lord
22.10.2017
16:35:20
неет, вы не поняли. мне нужно сделать аналитику для приложения. использую Appmetrika от яндекса, вот допустим есть 3 активити. к примеру юзер закрыл приложение на 2, вот я не знаю как это перехватить. я сам пробовал так: писал on destroy в каждом активити. но тогда в метрику отправляется информация о закрытии каждого активити, а мне нужна информация о закрытии активити конечного
надеюсь смог объяснить


Sergey Mitrofanov
22.10.2017
16:36:17
Если одна активити что-то положила, а вторая пытается забрать, то это хранение данных и всё может навернуться.
Если я создаю ретрофит в onCreate, к моменту старта любой активити его не может не быть — есть проблема с инверсией управления, но не с надёжностью. И это не данные, это, скорее, поведение.
Я вынужден использовать как сами синглтоны, так и объекты с похожей уродской семантикой (те же фрагменты, которым в конструктор ничего нельзя положить — они сами вынуждены разрешать свои зависимости). Но я сам не создаю такого рода классы и другим не рекомендую.
Какой интересный взгляд на вещи...
А что ты имеешь ввиду под "все может навернуться"? Процесс прибьется? Так вместе с ним вообще все сразу "навернется", как ничего и не было...
Фрагменты, ну так есть еще 3 способа передать параметры в фрагмент: описать статический newInstance(...), setArguments или старые добрые сеттеры.
И тут стало интересно, а как бы ты написал программу по-сложнее калькулятора на чистой Java без единого синглтона? Хранил бы данные в классе с main()? Или в первой ГУИ форме (в случае с AWT/Swing)?


Lord
22.10.2017
16:39:35
под конечным активити я имею следующее: вот есть приложение. там пусть будет 5 активити, юзер зашел в 1,2,3 но ему что то не понравилось и он решил покинуть приложение, вот это активити, с которого он покинул приложение нужно отправить в метрику с помощью метода reportEvent(Striing)

Google

Quantum Harmonizer
22.10.2017
16:40:00


Lord
22.10.2017
16:40:02
это для продуктовой аналитики, мне дали задание, сам до этого с таким не сталкивался, вот решил спросить

THAR
22.10.2017
16:40:29
псссс парни

Quantum Harmonizer
22.10.2017
16:41:40

Max
22.10.2017
16:41:42

THAR
22.10.2017
16:41:52
есть ли туториилы по open cv ??

Max
22.10.2017
16:41:53
Что случилось?

THAR
22.10.2017
16:42:04
как завести его на android
на офф сайте что-то непонятное

Quantum Harmonizer
22.10.2017
16:42:54
мне кажется, тут могут знать: @androidgpu

THAR
22.10.2017
16:43:03
и второй вопрос , есть ли иные способы найти макет с потока от камеры и определить его ориетацию в пространстве??


Sergey Mitrofanov
22.10.2017
16:44:34
под конечным активити я имею следующее: вот есть приложение. там пусть будет 5 активити, юзер зашел в 1,2,3 но ему что то не понравилось и он решил покинуть приложение, вот это активити, с которого он покинул приложение нужно отправить в метрику с помощью метода reportEvent(Striing)
Хм, ну выход из приложения может быть по любой причине: нажали на хоум, поступил звонок (другая активити), юзер нажал на уведомление другой апп...
Если вам нужно именно нажатие на хоум, то можете поставить перехватчик на это. Остальное вроде не отлавливается.
Но надо иметь ввиду, что активити во всех эти случаях не уничтожается, а останавливается.
О причинах остановок/уничтожений вам андроид не расскажет.
Так что на мой взгляд, вам легче собирать все маршруты пользователя - запуски и остановки активити, и слать их на север. А потом уже смотреть какая последняя по истории действий остановилась...
Плюсом будет то, что вы будете иметь карту маршрутов по апп на манер тепловой карты сайта ?


Quantum Harmonizer
22.10.2017
16:48:38

Sergey Mitrofanov
22.10.2017
16:50:17

Igor
22.10.2017
16:59:11

Sergey Mitrofanov
22.10.2017
17:04:21
Так так не надо тут на ФП гнать ?
А я на ФП и не гоню ) Просто не нравятся религиозные войны по поводу ФП vs ООП.
Вообще я в этом вопросе больше солидарен с дядей Бобом - ФП и ООП это взаимодополнящие концепции, а не взаимоисключающие. И любые из их инструментов (синглтоны или еще что) нужно применять с умом. А главное - это нормальная архитектура программы, и ФП так же нужна архитектура, если это не студенческий проект...

Igor
22.10.2017
17:07:50
Ну ок, главное не путать с процедурным программирование.
Еще бы понять связь между фп и синглтонами.

Google

Sergey Mitrofanov
22.10.2017
17:10:49

balolam
22.10.2017
17:11:55
Стримы использовал в Java?

Sergey Mitrofanov
22.10.2017
17:12:40
ага

Kuzma
22.10.2017
17:13:38
привет парни.
кто хорошо разобрался в Room, скажите пожалуйста, есть ли там возможность использовать String как primary key?

Sergey Mitrofanov
22.10.2017
17:14:35

balolam
22.10.2017
17:14:42
ага
Ну вот эта концепция (да пусть меня исправят если я не прав) ленивых вычислений это что-то близко

Igor
22.10.2017
17:14:59


Sergey Mitrofanov
22.10.2017
17:23:22
> что такое монады
Моноид в категории эндофунктора, конечно ?
> хранение состояния не зависимо от жизни прочих компонентов
ФП вообще нет состояний, там только чистые функции (и уж конечно не про какие синглтоны там не говорится).
Состояние приходит “откуда то” из внешнего мира и туда же уходит, в своем коде ты не должен на это опираться.
Ну про "откдуа-то из внешнего мира" - это стандартный подход типа "черный ящик". Разрабатывая архитектуру компонетны как раз и делаешь максимально независимыми, самостоятельными автоматами, чтобы они не оприались ни на истоник входных данных, ни на приемник выходных данных. Ничего нового в этом нету...
Но мне интересен один момент:
Я помню одну интересную лекцию по ФП, где автор показывал гибкость ФП на примере игры "жизнь" для N-мерного пространства (и в конце даже песенку про монады спел =)
Вроде как понятно, лаконично, стройно.
А вот если надо описать на чистом ФП игру в шахматы для двух игроков, то где будет храниться история ходов и текущее расположение фигур? )
getIntExtra возвращает строку? Что-то фантастичное )
куда войти?
Короче тут все просто. Экстры - это бандл. А бандл - суть тот же хешмап, только не типо-безопасный. То есть значения могут быть произвольного типа, лишбы были сериализуемы.
В данном случае проверь по коду - может где-то ниже ты по такому же ключу строку запихал перезаписав нужное тебе число?


Igor
22.10.2017
17:30:55
Ну е-мое, тебе там нужен второй параметр, “дефолтное” значение для int (учит инглишь и читай доки)
int getIntExtra (String name, int defaultValue)

Sergey Mitrofanov
22.10.2017
17:31:05
А, он тебе говорит, что в методе должно быть 2 аргумента: ключ и дефолтное значение

JRoot3D
22.10.2017
17:31:50
Пишет кто приложения с использованием рут прав?

Sergey Mitrofanov
22.10.2017
17:34:33
В Java не бывает необзательных параметров в методах, бывают перегруженные методы ?


Igor
22.10.2017
17:36:25
Ну про "откдуа-то из внешнего мира" - это стандартный подход типа "черный ящик". Разрабатывая архитектуру компонетны как раз и делаешь максимально независимыми, самостоятельными автоматами, чтобы они не оприались ни на истоник входных данных, ни на приемник выходных данных. Ничего нового в этом нету...
Но мне интересен один момент:
Я помню одну интересную лекцию по ФП, где автор показывал гибкость ФП на примере игры "жизнь" для N-мерного пространства (и в конце даже песенку про монады спел =)
Вроде как понятно, лаконично, стройно.
А вот если надо описать на чистом ФП игру в шахматы для двух игроков, то где будет храниться история ходов и текущее расположение фигур? )
Историю хранить в персистентной коллекции, каком-нибудь immutable-linked-list, текущие положение просто в “рекорде”.
В фп ты можешь сохранять данные в любые структуры, ты просто не можешь их изменять (а только создавать новые и копировать).
(ну и конечно хранить можно в writer-монаде, но это обычно перебор вне хаскеля).


Sergey Mitrofanov
22.10.2017
17:39:49
Историю хранить в персистентной коллекции, каком-нибудь immutable-linked-list, текущие положение просто в “рекорде”.
В фп ты можешь сохранять данные в любые структуры, ты просто не можешь их изменять (а только создавать новые и копировать).
(ну и конечно хранить можно в writer-монаде, но это обычно перебор вне хаскеля).
Хм, то есть тут нужен будет тот компонент, который передает эти данные на вход функциям, а потом забирает их на выходе и записывает обратно (дописывает). То есть тот, который как раз опирается и на данные, и на фукнции. И это и есть монада, верно? )

Admin
ERROR: S client not available

Quantum Harmonizer
22.10.2017
17:45:39
Языках программирования, независимо от среды. Хоть в блокноте пиши, в Java нет дефолтных значений.

Google

Sergey Mitrofanov
22.10.2017
17:50:26

Igor
22.10.2017
17:50:31

Quantum Harmonizer
22.10.2017
17:50:47

Sergey Mitrofanov
22.10.2017
17:51:00
ок

Mihail
22.10.2017
17:59:29

Emirinay
22.10.2017
18:01:03

Igor
22.10.2017
18:26:16

Sergey8827
22.10.2017
18:31:58
При настройке Фаербейз может сохранять оффлайн. Тогда вопрос получается фаербейз может заменить клиентскую базу данных на телефоне?


Sergey Mitrofanov
22.10.2017
18:54:33
чувак однозначно не onDestroy() - этот метод не постоянно вызывается
Вернее сказать "не гаратнировано". Гарантируется только своевременный onPause. Хотя на практике, если не было прибития апп, я и не припомню случая, чтобы он не вызвался. Да, если быстро мотать назад, то onStop и onDestroy всех проходных активити выполняются не сразу, а спустя некоторое время после остановки и сразу пачкой, но чтобы совсем не вызывались - не припомню...

Sergey8827
22.10.2017
18:55:11
+

Igor
22.10.2017
19:02:29
Кто знает как легко отобразить круглый лоадер в кнопке ? Есть готовый компонент ? Или придется придется ставить Button и ProgressBar в FrameLayout ?

Sergey Mitrofanov
22.10.2017
19:21:17

Igor
22.10.2017
19:23:56

Iwan
22.10.2017
19:26:40
Почему framelayout?

Quantum Harmonizer
22.10.2017
19:33:08

Iwan
22.10.2017
19:39:55
Нужен пример решения

Александр
22.10.2017
20:01:08
Кому тут интересно, как сжать АПК?)
Играем в APK-гольф. Уменьшение размера файлов Android APK на 99,9%
Вышла интересная статья на хабре, в которой автор пытается создать приложение минимального размера. Есть интересные методики, советуем почитать!
Читать: https://habrahabr.ru/post/339938/

Konstantine
22.10.2017
20:19:53

Google

Александр
22.10.2017
20:22:07

Konstantine
22.10.2017
20:22:46
Так в том и суть, что полезного в статье только 3 строки о прогварде, которые и так каждый второй знает и использует.