Контакты

Наибольший вклад в теги

Все теги (8)

Лучшие ответы пользователя

Все ответы (13)
  • В каких случаях лучше использовать фрагменты, а в каких активити?

    @alaershov
    Android-developer
    Если возникает требование закрыть полностью родительский экран, то стоит задуматься о том, что это, на самом деле, отдельный экран. Единственный легитимный случай, когда можно закрыть части родительского экрана - это диалог.
    Пердавать данные между Activity приложения, действительно, не всегда удобно. Однако поддержка такой связи между экранами позволит вам, например, открывать экран карты из совершенно другого места (например, Push-уведомления, или вообще другого приложения), используя тот же самый протокол, Extras в Intent. Это принцип организации Android-приложения. Слабо связанные между собой экраны-модули приложения. Для того, чтобы уйти на какой-то экран специально с целью вернуть оттуда данные, есть механизм startActivityForResult.
    Ответ написан
    4 комментария
  • Реально ли начать писать программы под андроид на C#? Или проще начать изучать Java?

    @alaershov
    Android-developer
    Как и говорят остальные отвечающие, это вполне возможно. Вопрос в другом, нужно ли? Разрабатывая под Android не на родной платформе вы неизбежно столкнётесь с различными костылями, а то и вовсе не работающими вещами. Изучить Java будет намного полезнее и эффективнее, а после C# это сделать будет нетрудно. Хотя и придётся отказаться от некоторых привычных конструкций вроде лямбда-выражений, которые появились только в Java 8, а на Android используется Java 7.
    Ответ написан
    Комментировать
  • Размеры экранов мобильных и планшетов?

    @alaershov
    Android-developer
    Плотность пикселей на экране определяется не только разрешением, но и размером экрана.
    Например, если макет 1080x1920 свёрстан в расчёте на 5-дюймовый экран Nexus 5, то да, это xxhdpi. А если вы рассчитывали на огромный планшет - то плотность пикселей будет ниже.
    Почитайте официальную документацию про размеры экранов: https://developer.android.com/guide/practices/scre...
    Для конвертации разных размеров удобно пользоваться инструментами, вроде этого: https://pixplicity.com/dp-px-converter/
    Ответ написан
    Комментировать
  • Одна Activity и множество Fragment, best practices?

    @alaershov
    Android-developer
    Я бы на вашем месте отказался от архитектуры "Одно Activity на всё приложение", и сделал всё на обычных Activity.
    Проблема у вас, судя по всему, в разбиении функций приложения на слабо связанные модули. Разрисуйте и распишите ваши экраны и функции, которые принадлежат каждому из них, и подумайте, какие из функций зависят друг от друга, а какие нет.
    Почитайте про принципы SOLID, которые помогут понять, как лучше разделять ответственность классов между друг другом: https://realm.io/news/donn-felker-solid-part-1/
    Отделите бизнес-логику от UI-логики и логики хранения данных с помощью архитектуры Clean: fernandocejas.com/2014/09/03/architecting-android-...
    Организуйте связь UI и бизнес-логики с помощью подхода MVP, где Model - это UseCases (они же Interactors) из Clean: antonioleiva.com/mvp-android
    Попробуйте Moxy (https://github.com/Arello-Mobile/Moxy) в качестве библиотеки для реализации MVP, она избавит вас от написания большого количества boilerplate-кода и части проблем с переворотом экрана.
    Ответ написан
    Комментировать
  • Влияют ли версии buildTools и compileSdk использованные при сборке сторонней библиотеки на успешность сборки моего проекта?

    @alaershov
    Android-developer
    По умолчанию такого происходить не должно. В гайдах андроида рекомендуется всегда использовать последние версии build tools и compile SDK. Это просто версия компилятора, грубо говоря, а на успешность сборки может повлиять только исходный код. Конечно, могут быть какие-нибудь баги в новых версиях компилятора, но это исключительные случаи. Обратная совместимость - одно из главных требований к средствам сборки.
    Ответ написан
    Комментировать