Изам
ребилд проекта делал
Изам
комп перезагружал
Mike
применил, тоже самое
проблема в чём?
Изам
проблема в чём?
не запускается активность, которую вызываю
Изам
дебаг ставил
Mike
дебаг ставил
И что он сказал?
Изам
Как вызываешь?
в начале через метод интент вызывал( этот метод на скрине) щас через cicerone
Изам
думал он поможет
Mike
в начале через метод интент вызывал( этот метод на скрине) щас через cicerone
что делал с возвращаемым значением метода? Где код со startActivity?
Изам
Изам
вот
Изам
строка 178
Mike
строка 178
дебаггер заходит?
Mike
да
И что потом? Вообще ничего? В логах есть ошибки или ворнинги?
Изам
только вот это
Изам
Изам
на 5 строчке начинается нажатие
Руслан
Добрый день, а загрузить фото с глалереи во фрагменте невозможно?)) С интернета кучу примеров перепробовал и везде исключения падают https://pastebin.com/vUvC01Qx
Sviat
только вот это
а onCreate пофиксили?
Руслан
из фрагмента или не из фрагмента — значения не имеет. Какие исключения, на каких строчках?
https://pastebin.com/eVVaC0PS курсор почему-то нулевой у меня создается, пробовал getActivity результат тот же
Starikov
я правильно понимаю, livedata отдает данные сразу же при подписке тоже, и потом еще?
Starikov
ну типо, я подписался, она отдает что нибудь, что уже готово, и при готовности еще что то дает?
Starikov
да
спасибо
Vitaly
Работаю с Android Navigation Component и заметил, что popBackStack() не всегда возвращается на фрагмент назад, то есть он очищает фрагмент из backStack списка, но по-прежнему отображает текущий фрагмент Такая ситуация возникает примерно каждый 20-ый раз Кто встречался с такой же ситуацией? Как решить её?
Aleksandr
Всем привет. Поделитесь опытом: у вас в проекте есть статический анализ кода? Встроен ли он на CI? Какие тулзы используете для этого, какие настройки?
SarcasmIO
стат анализ на CI хуевая затея
SarcasmIO
тем, что подавляющая масса штук, которые он находит не имеют решения сдесь и сейчас и люди в попытках пофиксить этот код будут добавлять ignore, куда лучше запускать его локально и все проблемы складывать в беклог
Руслан
Добрый день, а загрузить фото с глалереи во фрагменте возможно?)) С интернета кучу примеров перепробовал и везде исключения падают https://pastebin.com/eVVaC0PS
Aleksandr
устраивать субботники и фиксить постепенно
Под встраиванием на CI я не предлагал решение с фиксингом здесь и сейчас. Например, есть какой-то отчет, который будет появляться с новым пушем в репозиторий. Этот отчет просто для того, чтобы понимать, добил ли ты новых ворнинтов или нет, и насколько мы хороши сейчас
Aleksandr
устраивать субботники и фиксить постепенно
Запускать анализ каждому из разработчиков мне кажется, что хуже идея
Aleksandr
тобишь ты хочешь запускать стат анализ на CI и не блочить пайплайн дальше, если он сипит варнингами?
Как вариант. Я вот и спросил поэтому, что хочу узнать, как у других работает это)
Mikhail
Ребя, всем приветы, никто не ковырял API appmetrica ? не могу вытащить инфу по конкретным событиям в приле, только общие
SarcasmIO
Как вариант. Я вот и спросил поэтому, что хочу узнать, как у других работает это)
какой тогда от него смысл, генерить репорты можно и без CI
SarcasmIO
я говорю как есть, есть с-ции когда надо что бы код попал на прод, настолько быстро что внезапно, если стат анализ будет этому препятствовать, люди будут игнорить его аннотациями всякими и тд
Aleksandr
использую Codacy и Codebeat, но надо, конечно, жёстче, чтобы плохой код нельзя было вмёрджить
А можешь подробнее рассказать, как вы используете полученные данные?
SarcasmIO
Смысл в том, чтобы видеть и понимать, где мы сейчас и насколько улучшились/ухудшились
тогда тебе не совсем стат анализ надо, а штуки которые в целом трекают связность/связанность и другие метрики
Mike
А можешь подробнее рассказать, как вы используете полученные данные?
Ну эт я один использую. Просто, когда грустно, смотрю ворнинги и думаю, что из них можно исправить. Но это неправильно, конечно.
Садо
Ребят я в построении архитектуры программы пока что бездарь. Знает ли вы людей с Ютуба или какие-нибудь которые смогли объяснить построики правильно постройки архитектуры на разные вид проектов. Обезателно на kotlin, и желательно с домашками.
SarcasmIO
https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D1%8F%D0%B7%D0%BD%D0%BE%D1%81%D1%82%D1%8C_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D1%86%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) можно писать хуевый код так, что бы он удовлетворял стат анализатору, он этого он менее хуевым не станет в рамках архитекруры приложения, важны штуки которые меняются, часто, и штуки которые меняются вместе, контексты, и прочие метрики, а не то что у нас сейчас абстрактно code quality 56 а стало 57, потому что вася добавил вывод типов где-то)
Anonymous
ребята, как вы думаете, стоит ли перейти на Kotlin? я так привык на Java-у
Anonymous
+ Java используется в вебе
SarcasmIO
Егор популист
SarcasmIO
стат анализ не дает ответов на вопросы
✨ Anatolii
Как правильно бэкдоры делать?
Aleksandr
стат анализ не дает ответов на вопросы
А я и не прошу отвечать. Crashlytics тоже не дает ответов на вопросы, а показывает проблему. Вот в данном случае тоже хочется видеть потенциальную проблему
lilmir
Ребят привет. Возникла такая проблема. Я создаю новые фрагмент этим методом: fun newInstall(install: Fragment, tag: String) { fm.beginTransaction().add(R.id.content, install, tag).hide(activeFragment) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) .addToBackStack(null).commit() previousFragment = activeFragment installFragment = install activeFragment = installFragment } Далее при нажатии кнопки назад во фрагменте я вызываю этот метод у активити fun newActive(newFragment: Fragment, tag: String) { val parent = fm.findFragmentByTag(tag) if (activeFragment != installFragment) { finish() } else { if (parent != null) { fm.popBackStack() fm.beginTransaction().show(parent).setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE).hide(activeFragment).commit() previousFragment = activeFragment installFragment = parent activeFragment = installFragment } else { ......... } } } } } Проблема следующая: я в одном фрагменте нажимаю на кнопку, переключаюсь на следующий фрагмент, там ввожу данные и нажимая на кнопку у меня данные отправляются на сервер и приходит ответ, вывожу его в тосте. Допустим все супер и нам пришло сообщение "All ok" . Мы нажимаем на кнопку назад, переключились на прошлый фрагмент, затем пытаемся опять открыть этот фрагмент где отправляем данные. Но при открытии у нас опять приходит тост "All ok", то есть как будто мы уже опять отправили данные и получили ответ. Я не понимаЮ, почему так происходит, никаких запросов снова не отправляется(проверял интерсепторами). МОжет кто нибудь знает, в чем прикол?
Mike
Ребят привет. Возникла такая проблема. Я создаю новые фрагмент этим методом: fun newInstall(install: Fragment, tag: String) { fm.beginTransaction().add(R.id.content, install, tag).hide(activeFragment) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) .addToBackStack(null).commit() previousFragment = activeFragment installFragment = install activeFragment = installFragment } Далее при нажатии кнопки назад во фрагменте я вызываю этот метод у активити fun newActive(newFragment: Fragment, tag: String) { val parent = fm.findFragmentByTag(tag) if (activeFragment != installFragment) { finish() } else { if (parent != null) { fm.popBackStack() fm.beginTransaction().show(parent).setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE).hide(activeFragment).commit() previousFragment = activeFragment installFragment = parent activeFragment = installFragment } else { ......... } } } } } Проблема следующая: я в одном фрагменте нажимаю на кнопку, переключаюсь на следующий фрагмент, там ввожу данные и нажимая на кнопку у меня данные отправляются на сервер и приходит ответ, вывожу его в тосте. Допустим все супер и нам пришло сообщение "All ok" . Мы нажимаем на кнопку назад, переключились на прошлый фрагмент, затем пытаемся опять открыть этот фрагмент где отправляем данные. Но при открытии у нас опять приходит тост "All ok", то есть как будто мы уже опять отправили данные и получили ответ. Я не понимаЮ, почему так происходит, никаких запросов снова не отправляется(проверял интерсепторами). МОжет кто нибудь знает, в чем прикол?
Ты же хранишь экземпляр фрагмента, вот и достаётся его состояние. Вообще, не стоит хранить фрагменты в полях, т. к. они пересоздаются фреймворком.
lilmir
почему, я в функции newInstall(...) всегда передаю новый инстанс фрагмента
Арсений
Как можно скачать файлы из FireBase Storage не используя андроид? На каком-нибудь питоне
Max
да вроде с саппортами можно особо ничего не делать
а как же работа приложения на старых девайсах?
Delt@[•_•]
Подскажите, использую LivePagedListBuilder для пагинации списков с сервера, в списке есть возможность удаления объекта, как его удалить из этого списка? использовать invalidate с обновлением всего списка выглядит ужасным вариантом
Dmytro
Кто-то знает как реализовать работу стрима как на ютубе, чтобы если перемотать назад, то стрим как бы продолжался и записывался?
Starikov
могу ли я сделать databinding к progressbar android:max? я пробую, но оно ставит 0, и все
Dmytro
Понимаю что определение скомканно очень звучит, но вдруг кто-то слышал
Max
Саппорты для этого и нужны
что ты имел ввиду, когда писал, что с ними можно ничего не делать? не всё же работает на старых девайсах по дефолту