• OnBackPressed, как узнать с какого активити пришел пользователь?

    @Dmtm
    Android
    получать результаты по onBackPressed это очень, очень плохая идея
    если коротко, то нужна дополнительная кнпока типа Ок, а по onBackPressed отказ от изменений
    а, ну и запускать дочерние через statrtActivityForResult
    Ответ написан
    Комментировать
  • Правильно ли выбрасывать исключения в бизнес логике?

    Я считаю это хорошей практикой. Исключительная ситуация - это та, при которой программа выполняется не так, как ожидалось. Но, позвольте, я ожидаю, что заказ пройдет валидацию. Я ожидаю, что заказ завершится успехом. Поэтому OrderValidationException, OrderException - исключительные ситуации. Исключительной ситуацией не является, например, отмена пользователем заказа - глупо выбрасывать исключение по клику на Cancel.

    Исключения гораздо глубже, чем просто "исключительная ситуация". Они помогают развести обработку ошибок по разным уровням абстракции, а использование разных типов исключений позволяет обрабатывать конкретные ошибки там, где их нужно обработать (на нужном слое). Исключения очень помогают в локализации ошибки в дальнейшем, они позволяют избавиться от простыни If .. else, проверок на null, false и прочей ереси. Они, чаще всего, делают код чище.

    Но пользоваться ими стоит аккуратно, все-таки стоит разделять исключительную ситуацию и вполне нормальную, штатную ветку исполнения. Так, если заказов нет - это НЕ исключение, тут можно вернуть null - допустимо (хотя некоторые и тут выбрасывают исключение, потому что очень соблазнительно привязать код исключения к HTTP кодам). А если у вас аплоад документов, и юзер пытается загрузить файл слишком большой, то это уже исключение.
    Ответ написан
    1 комментарий
  • Путь андроид разработчика?

    Zoominger
    @Zoominger Куратор тега IT-образование
    System Integrator
    Путь любого разработчика начинается с поискового запроса "whatever-programmer roadmap".
    Даже на Тостере должно быть.
    Ответ написан
  • Как стать Котлин разработчиком?

    @koperagen
    Смотря, что вы под этим понимаете. Не думаю, что можно стать "профессиональным котлин разработчиком". Это будет либо мобильная разработка, либо бэкенд. В теории можно и десктоп с фронтом пилить. Но ни в одном из этих случаев знания самого языка не будут решающими.
    Если абстрагироваться и от направлений, то всегда будет полезно знать хотя бы распространенные структуры данных, парадигмы (структурная, объектно-ориентированная, функциональная), паттерны, используемые в этих парадигмах, принципы проектирования (SOLID, KISS, YAGNI). Это и к языку не привязано.
    Дальше - работа с БД (SQL, NoSQL), HTTP, асинхронность (Coroutines как пример средства реализации асинхронности). Тут придется выбирать библиотеки, доступные для котлина и изучать их.
    Это все скорее всего встретится. Но можно под андроид начать приложения делать и с 0. Есть обучающие курсы, в которых все нужное расскажут. По остальным направлениям их меньше, но тоже достаточно. Для бэкенда отправная точка - ktor, для desktop - tornadofx.
    Java код вам наверняка придется читать, поэтому хотя бы поверхностно стоит изучить.
    Ответ написан
    Комментировать
  • Как рассчитать время разработки и бюджет андроид приложения?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Так же как оно рассчитывается для любого другого приложения.
    В андрод-разработке нет ничего такого отличного от других стеков что бы как-то по особенному влияло на процесс оценки.
    Ну разве что публикацию в стор еще можете отдельно обговорить, плюс поддерживаемые версии андроида и расширения экрана.
    Ответ написан
    1 комментарий
  • Как рассчитать время разработки и бюджет андроид приложения?

    1. Публикация приложения
    2. Оценка по экранно
    3. Далее оцениваете интеграции (тут только опыт)
    Ответ написан
    1 комментарий