Leonid
Привет, парни. Кто что использует как уникальный идентификатор устройства? ANDROID_ID норм для этого?
В зависимости от цели, в общем случае сам google бест практику написал https://developer.android.com/training/articles/user-data-ids
Anton
Всем привет Я совсем новичок в андроид разработке, может кто-нибудь подсказать, как в приложении юзать вход в аккаунт Яндекса, чтобы потом можно было смотреть песни из плейлиста в Яндекс музыке?
Евгений
А что сам Яндекс говорит?
Michil Shkulyov
Здравствуйте господа, правильно ли я понимаю, в котлине when заменил свитч case?
Leonid
Я так понял что Android Q не дает теперь читать телефон
Аброр
можете подсказать, есть ли возможность создать секундомер, чтобы он не переставал работать в фоне, создаю с помощью Service, но андроид временами убивает приложение, тем самым сам сервис останавливается
--------
Foreground Service
блин да, я его и имел ввиду
tdrk
Привет всем, никак не могу понять, как это (код из IDA): ROM:FFFFFFC000EE60E8 cs35l35_errata_patch_ DCQ 0x990000007F, 0x9900000000, 0x2200000052, 0x1400000004 ROM:FFFFFFC000EE60E8 DCQ 0x440000006D, 0x1000000024, 0xC400000058, 0x9800000000 ROM:FFFFFFC000EE60E8 DCQ 0x800000018, 0 ROM:FFFFFFC000EE6138 DCQ 0x7F перевести в массив HEX
tdrk
Может кто помочь?
tdrk
Что значит «в массив» и при чём здесь андроид?
Ну это кусок декомпилированного ядра ведроида
tdrk
В массив чисел HEX на языке C
tdrk
В драйвере просто нужно указать значение со стока
Сергей
можете подсказать, есть ли возможность создать секундомер, чтобы он не переставал работать в фоне, создаю с помощью Service, но андроид временами убивает приложение, тем самым сам сервис останавливается
Ну...forground service как раз не имеетсмысла. Этосложна + он показывается в приложении плюс жжет батарейку. Нафига секундомеру в фоне работать то? Если активен экран - его не прибьют, а если пересоздали - взять новое время из сист.часов
Сергей
Там норм. Но форграунд даетнеубираемое уведомление. Другие трекеры как то обходятся. Может через инетенты на события от сенсоров + бэкграунд навигации если юзер разрешил
Аброр
Там норм. Но форграунд даетнеубираемое уведомление. Другие трекеры как то обходятся. Может через инетенты на события от сенсоров + бэкграунд навигации если юзер разрешил
может сохранять дату начала трекинга и каждый раз когда страница становится активной запускать время прошедшее с ежесекундным обновлением? таким образом я избегу использование бэкграунд сервисов?
Алексей
Доброго дня! Такой вопрос. Есть ссылка на соц.сети в приложении. Допустим на сообщество ВК. При нажатии на ссылку сделал, чтобы открывалось приложение ВК, если оно есть. Как сделать так, чтобы открывалось именно сообщество?
Paladin
Как отключить эти подсказки?
Paladin
А зачем?
А зачем мне это нужно?
Ярослав🇺🇦
Вроде ни чем не мешает
Ярослав🇺🇦
Дабы помнил, какие аргументы принимает😁
Paladin
До этого нормальная всплывашка над курсором была
Valentin
Подскажите как правильно при помощи даггера получить Activity Context для дальнейшего использования в приложении
Valentin
чтоб далее работать с контекстом именно активити а не апликейшн, встретился с такой проблем: когда реализовывал фабриченый метод и передавал туда контекст аппликешн LayoutInflate не хочет из xml вьюху собирать
Denis
тогда читай про скоупы
Denis
очень легко там утечку получить
Valentin
а как правильно тогда подскажите
Evan
Ребята, столкнулся с проблемой с Glide. При инициализации Фрагмента профиля юзера я подгружаю из локального хранилища его данные, включая путь к аватарке и, соответсвенно, Glide сетит эту аву в мой кастомный Image View. И всё хорошо, при открытии фрагмент сразу отображает кэшированные данные, всё красиво. Но буквально через полсекунды приходят данные профиля из удалённой БД и уже их я снова сечу на вьюхи. И если с текстовыми полями всё норм, то Glide при обновлении всё той же картинки делает некое мерцание на долю секунды, что не красиво. Как этого избежать? Пытался гуглить, ничего толкового не нашёл. Может у меня сам подход не совсем верный?
Valentin
так я задачу не знаю)
делаю по mvp, есть карта по нажатию на место получаю id объекта далее открывается карточка объекта, вью которой собирается при помощи фабричного метода которому нужен контекст
Valentin
есть ли разница между контекстом application и activity?
Denis
хотя даже это не нужно делать
Valentin
фабрика живет в презентере
Denis
лучше передать context аргументом в метод
Denis
и не хранить его в фабрике
Denis
пока правда не могу понять, зачем тут фабрика)
Сергей
Вероятно "есть"
Valentin
лучше передать context аргументом в метод
на самом деле так и сделал, получаю текущий контекст сеттером, просто думал что смогу как то из любого места теперь вытащить этот контекст
Valentin
Вероятно "есть"
по контекст я понимаю что контекст аппликешн живет все время приложеня, а контекс активити связан с ее жизненным циклом
Сергей
на самом деле так и сделал, получаю текущий контекст сеттером, просто думал что смогу как то из любого места теперь вытащить этот контекст
Я сервис-локатор написал. Он держит контекст приложения в Application, и отдает в любом месте приложения. Ибо заепался его пробрасывать через три уровня в параметрах
Mike
Привет, чат Кто-нибудь публиковал в ближайшее время первые версии приложений? Сколько дней занимала публикация закрытой беты?
Сергей
по контекст я понимаю что контекст аппликешн живет все время приложеня, а контекс активити связан с ее жизненным циклом
Да. Ну и контекст активности можно скастовать к ее объекту и вызвать метод конкр.активности. А контекст приложения нет. Но он кастится к аппликейшн вроде.
Сергей
А нафига мне в мелкий проект тащить даггер или прочую DI говнолибу?
Сергей
У меня там объектов с зависимостями штук десять на все приложение может создаются
Сергей
DI is overrated.
Сергей
Хотя от струкруры приложения зависит
Valentin
просто почему inflater с ApplicationContext не хочет работать, как я понимаю ему нужен Activity Context, поэтому пытаюсь пробрасывать Actitvity Context через даггер
Сергей
Потоому не DI от даггера с кучей параметров и медленным кодгеном - а service locator со ссылкой на контекст приложения. Пишем метод Application.getAppContextEverywhere() и таки получаем его без пробросов абсолютно эвривеа
Valentin
у меня просто одна активити и много фрагментов в которые хотелось бы передать это активити контекст
Сергей
Нужность DI в андроид среде убивается тем что куча конструкторов главных нужных объектов - от активностей и фрагментов и битмапов приватны, и DI бесполезен почти
Сергей
у меня просто одна активити и много фрагментов в которые хотелось бы передать это активити контекст
Берешь любой вью внутри фрагмента/адаптера. Делаешь ему getActivity(). Кастишь в твою singleActivity
Mike
Нужность DI в андроид среде убивается тем что куча конструкторов главных нужных объектов - от активностей и фрагментов и битмапов приватны, и DI бесполезен почти
Не понял. У активитей-фрагментов конструкторы обязательно публичные и без параметров. Битмапы создаются через фабрики. В чём проблема-то?
Arsen
Не понял. У активитей-фрагментов конструкторы обязательно публичные и без параметров. Битмапы создаются через фабрики. В чём проблема-то?
нельзя юзать конструкторы с параментрами у активностей\фрагментов при пересоздании активности не сработает
Valentin
там фабрика)
Сергей
Не понял. У активитей-фрагментов конструкторы обязательно публичные и без параметров. Битмапы создаются через фабрики. В чём проблема-то?
А если они без параметров - и не имеют зависимостей - нах нам DI? У нас есть getInstance, фабрики, интент. "Скрипач не нужен" для этих кейсов
Denis
а для фрагментов есть FragmenFactory
Valentin
да вьюха собирается
Mike
А если они без параметров - и не имеют зависимостей - нах нам DI? У нас есть getInstance, фабрики, интент. "Скрипач не нужен" для этих кейсов
почему бы не считать, что способ доставки зависимостей (ручной вс. локатор вс. DI-контейнер) ортогонален местам доставки (конструкторам, полям, сеттерам)?
Сергей
мне просто в презентор надо передать контекст
Из вью? Передавай вторым параметром в вызове. Вот дальше его до базы данных пробрасывать ...
CheekiBreeki
Братишки, помогите советом мудрым! Я не мобильщик, но по долгу службы обязали сделать приложение. Стараюсь ковыряться по MVVM и не могу понять, как можно передавать нормально данные из репозитория во ViewModel. Обсервить во вьюмодели нельзя, ведь нету lifecycleOwner(( Смотрел в сторону observeForever, но это страшная штука
Valentin
видимо насмотрелся неправильных примеров
Anonymous
Всем привет. У меня есть экран с drawerlayout'ом, который открывается при нажатии на гамбургер. На однои из экранов мне необходимо переопределить кнопку "назад". Переопределяю вот так: toolbar.setNavigationOnClickListener внутри, после определенной логики, ставлю navigationOnClickListener = null. И соответственно нажатие на гамбургер в тулбаре перестает отрабатываться :( как можно обратно повесить открытие drawerlayout'a при клике по иконке меню в тулбаре?
CheekiBreeki
Просто во вью модели в конструктор передай репозиторий и просто спрашивай данные.
У меня он есть в конструкторе. Проблема в том, что данные в репозитории фетчит suspend функция, у которой внутри withContext блок и я не очень понимаю, как оттуда возвращать данные
Valentin
2flower @PSA_98 спасибо за консультацию, буду переделываться
Сергей
почему бы не считать, что способ доставки зависимостей (ручной вс. локатор вс. DI-контейнер) ортогонален местам доставки (конструкторам, полям, сеттерам)?
DI сложнее городить. Если у нас (кроме того что задается через фабрики и тп) 90% обьектов не требуют зависимостей, зачем нужен даггер? Для оставшихся 10?