Size: a a a

StartAndroid Ru Chat

2020 November 15

СП

Сергей П. in StartAndroid Ru Chat
За глобальные переменные в большом проекте автора тимлид должен убивать Ржавой Кровавой Секирой Ужаса.

Ибо отлаживать это невозможно
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Сергей П.
За глобальные переменные в большом проекте автора тимлид должен убивать Ржавой Кровавой Секирой Ужаса.

Ибо отлаживать это невозможно
Так вот почему все так избегают статиков??? не из за того, что могут возникнуть проблемы в работе приложений?
источник

DI

Dinar Islamov in StartAndroid Ru Chat
ну у меня проект не большой конечно, но лучше сразу учиться делать по общепринятому регламенту
источник

DI

Dinar Islamov in StartAndroid Ru Chat
ютуберы буржуйские кстати не стесняются глобальные переменые лепить в коды
источник

СП

Сергей П. in StartAndroid Ru Chat
Dinar Islamov
Так вот почему все так избегают статиков??? не из за того, что могут возникнуть проблемы в работе приложений?
Потому что глобальную переменную (в Java ближайший ее аналог = статик в синглтоне) можно поменять из 100500 мест в коде, запросить значение из еще большего числа мест а потом нервно смеяться при отладке когда там неожиданое значение.

Пишу как человек что кодил еще на ЭВМ ЕС1035 на PL/1 где они были
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Я понимаю о чем речь. Я даже внутри класса сталкиваюсь с таким, что две переменных типа  хХхххХхххDate и хХхххХхххTime на автомате путаю, и то найти трудно в чем проблема.
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Есть у кого платная подписка на сайт Климова? Тот который с котиками.
источник

СП

Сергей П. in StartAndroid Ru Chat
Да там и бесплатного полно.
А если прям позарез нужны те новые темы что платные - их можно и на стартандроид найти и если там нет - просто нагуглить. Что именно надо то, какую тему? Я вот котиков не люблю и его котизм тоже.
источник

DC

Dyno Chris is... in StartAndroid Ru Chat
Сергей П.
Да там и бесплатного полно.
А если прям позарез нужны те новые темы что платные - их можно и на стартандроид найти и если там нет - просто нагуглить. Что именно надо то, какую тему? Я вот котиков не люблю и его котизм тоже.
live wallpapers надо. а его статьи мне очень нравятся. самые понятные для меня как правило. ну и на тему живых обоев в интренете очень мало информации. у меня вон что. в принципе все сделал, но пока не получается сделать так, чтобы обоина не растягивалась.
источник

СП

Сергей П. in StartAndroid Ru Chat
Ну тут полно на английском материалов даже в доках. И примеров (кажется даже в студии был пример обоев - а если нет так на гитхабе полно)
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Sergey Panov
Поищите fragment result api
Спасибо огромное! То что нужно. Сейчас в навигатор выполняет  navController.popBackStack(); и перед этим вкладываю данные в result и все шикарно
источник

SB

Sergey Bogdanov in StartAndroid Ru Chat
Привет! Нужен совет. У кастомного девайса есть некоторое количество железа от сторонних разработчиков, камера, отпечаток пальца, RFID,  т.д.

Необходим высокопроизводительный логгер, который будет писать в logcat и в файл (1мб). Нужно учесть, что стороннее железо может падать и валить всю программу, при этом все детали крэша должны быть записаны в лог.

На ум приходит вынести логгер в отдельный сервис и процесс с низким приоритетом и посылать ему Messages со строкой лога. Он будет набирать строки в память и переодически скидывать в файл. Даже если приложение рухнет, логгер запишет инфу из logcat с деталями крэша.

Дополнительным плюсом является потокобезопасность.

Есть какие-либо подводные камни в такой схеме?
источник

J

Johny in StartAndroid Ru Chat
Dinar Islamov
в такие моменты хочется как в старом добром бэйсике просто все переменные паблик статик объявить и не мучиться
Если вы используете навигационный контроллер, использовать бандл, кажется самим Гуглом не рекомендуется из-за небезопасности. Есть saveargs и вы туда можете складывать инфу перед открытием другого фрагмента. Проще, быстрее и надёжнее. А главное не костыль. Если не по теме сорян.
источник

J

Johny in StartAndroid Ru Chat
Сергей П.
Потому что глобальную переменную (в Java ближайший ее аналог = статик в синглтоне) можно поменять из 100500 мест в коде, запросить значение из еще большего числа мест а потом нервно смеяться при отладке когда там неожиданое значение.

Пишу как человек что кодил еще на ЭВМ ЕС1035 на PL/1 где они были
Здравствуйте. А подскажите где хранить, если не в константах глобальных значения тайм аут для api вызовов или адреса самого api и подобные штуки? Или речь именно о том, что переменная глобальная, но не константа?
источник

СП

Сергей П. in StartAndroid Ru Chat
Johny
Здравствуйте. А подскажите где хранить, если не в константах глобальных значения тайм аут для api вызовов или адреса самого api и подобные штуки? Или речь именно о том, что переменная глобальная, но не константа?
Эээ...к константам как раз ни малейших вопросов нет -  static final. Претензия к переменным именно что их можно поменять где угодно и потом получить внезапно значение неожиданное в другом месте
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Johny
Если вы используете навигационный контроллер, использовать бандл, кажется самим Гуглом не рекомендуется из-за небезопасности. Есть saveargs и вы туда можете складывать инфу перед открытием другого фрагмента. Проще, быстрее и надёжнее. А главное не костыль. Если не по теме сорян.
Да посмотрел документацию. Тоже довольно интересное решение. Но почему бандл не рекомендуют? фрагмент резулт это довольно свежая штука. Или если я вызываю фрагмент фор резулт, то нужно не через навконтроллера, а через реплейс вызывать??
источник

DI

Dinar Islamov in StartAndroid Ru Chat
с каждым днем все больше разочаровываюсь... только найдешь решение рабочее, как на следующий день говорят "так делать нельзя, есть вот такое решение"
источник

V

Vladushka in StartAndroid Ru Chat
Сергей П.
Эээ...к константам как раз ни малейших вопросов нет -  static final. Претензия к переменным именно что их можно поменять где угодно и потом получить внезапно значение неожиданное в другом месте
По этой же причине безопасности нет никаких претензий и к final. И даже рекомендуется по возможности делать поля final (об этом хорошо расписано в effective java)
источник

J

Johny in StartAndroid Ru Chat
Dinar Islamov
с каждым днем все больше разочаровываюсь... только найдешь решение рабочее, как на следующий день говорят "так делать нельзя, есть вот такое решение"
Офтоп. Я был такого же мнения, пока не осознал безсистемность в изучении. Все развивалось и необходимо иметь обратную совместимость. Старое не выпиливается, а новое тихо и спокойно рекомендуют использовать. И чем старее урок или документация тем больше в ней бойлер плейта и неправильных подходов. Поэтому, к сожалению, только документация может помочь в освоении нового и актуального, а она написана как будто один тимлид писал другому заметки в Вайбере и все все поняли, кроме нас
источник

DI

Dinar Islamov in StartAndroid Ru Chat
Johny
Если вы используете навигационный контроллер, использовать бандл, кажется самим Гуглом не рекомендуется из-за небезопасности. Есть saveargs и вы туда можете складывать инфу перед открытием другого фрагмента. Проще, быстрее и надёжнее. А главное не костыль. Если не по теме сорян.
Только вот я не пойму, в коком месте указывается Destination на который мне нужно перейти..
источник