Sergey
А вообще че посоветуете? У меня есть несколько секторов в приложении.
Сектор 1: загрузочный экран и несколько экранов с логином и регистрацией.
Сектор 2: основное приложение.
Сектор 3: экран настройки и несколько переходов.
У меня идея была такова, чтобы создать 1 активити для каждого сектора и менять фрагменты. Второй варик, есть создать переходы из активити, поскольку экраны в принципе не очень завязаны друг на друге, кроме Сектора 2. Какой лучше использовать?
Sergey F
Почему в DialogFragment ловиться нул на getDialog при установке всяких анимаций transactions на переходы? Андройд автоматически кастит диалог фрагмент?
Sergey
Я не про хранение данных
Denis
Shared preferences подойдёт?
Sergey
Ну то есть. Идет сплеш скрин. Дальше идет экран логина. Там можно еще создать аккаунт, тогда новый экран с вводом данных. Можешь восстановить пароль, тогда другой экран с вводом имейла. Есть еще "помощь", тогда опять новый экран с текстом. Вот я ща решил делать 1 активити и менять фрагменты. Второй варик - для каждого экрана сделать New Intent и стартовать новые активити.
Dmitry
Sergey
Просто я раньше делал по такому принципу. Если экраны разные и связь между ними минимальна, то использовал активити. Фрагменты, если только там есть внутри несколько переходов или ViewPager. Но потом попалось приложение, где вот для всего этого использовалось Активити, унаследованное от другого активити, которое в фоне пингует на устаревший токен и имеет методы для смены фрагментов т.е. контейнер один, но меняются фрагменты, в данном случае, все эти окна с восстановлением пароля, регистрацией или входом.
✙
Sergey
И я вот с одной стороны, считаю архитектуру с 1 активити и несколькими фрагментами нормальной, но на собеседке чел доказывает, что это полная хуйня и что можно с активити все делать, ибо с фрагментами запутаешься
Mike
✙
я до сих пор не шарю, всегда перечитываю когда надо
✙
дичь такая
✙
кто это вообще понимает...
Кирилл
Там для него завезли обёрточку в android ktx
Sergey
Ну вот и я о том же. Когда требуется что-то сделать. я проверяю на свежесть свои знания - делаю я как обычно, или вышел новый паттерн, библиотека или новые способы реализации конкретной задачи. Но часто случается, что твое мнение не совпадает с мнением тех, кто уже начал делать проект, или кто собеседует. Полагаю, что они привыкли делать по старинке, а о новых способах пингуют довольно редко, вот и считают всё, что "другое", не верным.
Mike
Ну вот и я о том же. Когда требуется что-то сделать. я проверяю на свежесть свои знания - делаю я как обычно, или вышел новый паттерн, библиотека или новые способы реализации конкретной задачи. Но часто случается, что твое мнение не совпадает с мнением тех, кто уже начал делать проект, или кто собеседует. Полагаю, что они привыкли делать по старинке, а о новых способах пингуют довольно редко, вот и считают всё, что "другое", не верным.
Так это баг конкретно этого собеседующего.
У нас в команде каждый мыслит по-своему, а вместе мы делаем, как сказал лид.
Dmitry
Sergey
И вопросец такой. Вообще, что лучше - делать с использованием стандартных Андроидских либ, или использовать еще сторонние, вроде RxJava, Dagger 2, Blade, ButterKnife. По сути, без них можно обойтись и работать приложение будет быстрее, но с другой стороны, будет ли эта скорость работы реально заметна на современных мощных телефонах? Ведь даже если ресурсов требуется больше, то мощности телефонов могут позволить выполнять с такой скоростью, что разница будет минимальна и еле заметна.
Кирилл
Зря.))
Sergey
Кстати, на Котлине имеет смысл сейчас начинать приложения делать? Все таки, документация скудноватая пока, да и ответов на конкретные вопросы не так часто встречаются, как на Джаве. Я хоть и изучил его частично, но чем заменить привычные либы, которые использовал на Джава, хз даже.
Mike
И вопросец такой. Вообще, что лучше - делать с использованием стандартных Андроидских либ, или использовать еще сторонние, вроде RxJava, Dagger 2, Blade, ButterKnife. По сути, без них можно обойтись и работать приложение будет быстрее, но с другой стороны, будет ли эта скорость работы реально заметна на современных мощных телефонах? Ведь даже если ресурсов требуется больше, то мощности телефонов могут позволить выполнять с такой скоростью, что разница будет минимальна и еле заметна.
Главный вопрос — зачем.
О Blade первый раз слышу, а вот RxJava, Dagger, ButterKnife решают те проблемы, которых до их изобретения не существовали, запутывают код и увеличивают его количество.
Кирилл
Mike
Dmitry
Кирилл
Sergey
Ну он от Джавы вроде не сильно отличается. Синтаксис другой, меньше кода с findViewById, проще до айдишников в XML добираться, Дата объекты удобней, но вроде все методы и классы - те же.
Кирилл
Sergey
Ну это да, но когда я на Джава апы делаю, то всегда на Null проверяю объекты. Не понимаю, почему говорят, что это спасение.
Sergey
Если от объекта должен взяться какой-то метод, то всегда на нулл проверяю. Не догоняю в чем тут траблина
Sergey
Ну это понятно. В основном, это ответы с сервера или с базы данных.
Sergey
Ну про БД я имею ввиду, когда данные с сервака сохраняешь в БД на случай, если инет пропадет и ты повторно зайдешь в апликуху
Кирилл
Не так удобно.)
Sergey
Ну можно кстати @NotNull прописать
Sergey
Или @Nullable
Mike
как аннотацией укажешь, нуллабельны ли элементы массива?
Кирилл
А зачем статическая типизация, если всё можно в голове держать?)
Кирилл
С чего?)
Mike
лолшто?
✙
а чо свифт?
✙
он же как котлин отдалённо
Dmitry
Mike
все хотят знать, что ты имел в виду
✙
главное не xamarin
✙
никогда
Mike
Mike
жопаговн... ой, не так прочитал
Impossible
Благодарочка)
Sergey
Mike
но посмотри сколько шаблонного плохокода
Кирилл
Mike
Кирилл
Mike
Кирилл
продолжай)
https://github.com/Kotlin/anko/wiki/Anko-Commons-%E2%80%93-Dialogs#alerts
Mike
Mike
фрагмент будет заботиться, чтобы при повороте диалог остался на экране
Dmitry
Sergey
Так а чем не нравится количество строк? Там же все понятно - на каждый жизненный цикл контролится сервис, создается диалог... Любой чел, прочитавший документацию по Котлину этот код поймет. Зачем усложнять?
Кирилл
✙
заглушки { }
get () перенести на верхнюю строку
убрать двойные пробелы
✙
+ anko dialogs
Кирилл
Mike
рили, не вижу никакой пользы от Anko Dialogs
Кирилл
✙
ну как минимум builder бойлерплейт
✙
alert(R.string.bla) { yesButton { }. noButton { } }
Mike
✙
да ну, не юзать это псевдооптимизация
✙
имхо
Кирилл
Кирилл
Кирилл
Выразительность и лаконичность кода на первом месте, имхо.)
Кирилл
Ну почти то же самое ведь