Рубрика: Android

  • Сервисы. Что такое, для чего нужны, какие бывают?

    Сервисы (Service) — это компоненты Android-приложения, которые выполняют долгосрочные операции в фоновом режиме и не имеют пользовательского интерфейса. Они используются для выполнения задач, которые должны продолжаться, даже если пользователь не взаимодействует с приложением. Для чего нужны? Сервисы нужны для выполнения фоновых операций, таких как: Виды сервисов:

  • Жизненный цикл Activity. Какой порядок вызова методов жизненного цикла для двух Activity?

    Ответ: Жизненный цикл Activity состоит из следующих основных методов: Порядок вызова методов жизненного цикла для двух Activity Предположим, есть Activity A и Activity B. Когда вы переходите от Activity A к Activity B, порядок вызова методов будет таким: Если Activity B завершена и возвращается к Activity A:

  • Отличия жизненного цикла Fragment-a от жизненного цикла Activity

    Ответ: Fragment имеет дополнительные методы жизненного цикла:

  • Расскажи про основные компоненты Android приложения

    Ответ: Ключевые компоненты Android-приложения: Activity: Компонент, отвечающий за взаимодействие с пользователем через экранный интерфейс. Service: Фоновый компонент, выполняющий задачи без прямого взаимодействия с пользователем, такие как загрузка данных или воспроизведение музыки. BroadcastReceiver: Обрабатывает широковещательные сообщения от системы или других приложений, например, уведомления об изменениях сети или батареи. ContentProvider: Управляет доступом к структурированным данным и предоставляет…

  • Можно ли сделать приложение например только с BroadcastReciever-ом? Или только с ContentProvider-ом?

    Ответы: Да, в Android можно создать приложение, содержащее только один компонент — BroadcastReceiver. Такое приложение будет реагировать на определённые широковещательные сигналы, такие как системные события или сообщения от других приложений. Да, в Android можно создать приложение, которое будет состоять только из одного компонента — ContentProvider. Такое приложение не будет иметь интерфейса и будет предназначено для…

  • Вопросы для Android-собесов

    Приуэт! Давно ничего не писал) Это вопросы для собесов, по которым я сам готовлюсь. Список обновляется и улучшается. Также будут посты с ответами, по каждому из вопросов. Вопросы я составляю так, чтобы можно было сразу копипастнуть Гуглу или ЧатГопоте(ChatGPT) и получить более подробный ответ =) Android Kotlin Coroutines Java, JVM, JMM Collections Concurrency Architecture, general…

  • Что такое Flow

    Flow — это упакованный в объект фрагмент кода, который производит какой-то последовательный набор элементов (данных). С одной стороны есть условный Отправитель, который этот код создал и готов предоставить его в виде Flow обертки. А с другой стороны есть Получатель, который возьмет этот Flow, запустит его и предоставит ему специальный колбэк, куда Flow будет складывать данные,…

  • Обработка ошибок в Корутинах

    Обработка ошибок в Корутинах всегда вызывала затруднения у многих разработчиков по ряду причин. Мало того, что существует несколько способов их обработки, но в первую очередь необходимо понять механизм распространения ошибок, который идет со структурированным параллелизмом(structered concurrency). И есть множество ситуаций, когда распространение ошибок с помощью Корутин происходит по-разному, например: Ошибки, возникающие в Scope-ах с CoroutineExceptionHandler…

  • Dispatchers

    DefaultЕсли корутина не находит в своем контексте диспетчер, то она использует диспетчер по умолчанию. Этот диспетчер представляет собой пул потоков. Количество потоков равно количеству ядер процессора. Он не подходит для IO операций, но сгодится для интенсивных вычислений. IOИспользует тот же пул потоков, что и диспетчер по умолчанию. Но его лимит на потоки равен 64 (или…

  • Context

    Для выполнения каждой Корутины нужен CoroutineContext. А если точнее CoroutineContext-ы). А если еще точнее то компоненты наследники от класса CoroutineContext. Это необходимые компоненты, которые нужны для контроля над корутиной, переключения потоков выполнения, обработки ошибок и т.д. Но где и куда его вставлять? =) В предыдущих примерах мы уже встраивали и использовали CoroutineContext. Помните Job-у, которую…

  • Builders

    Билдер launch()Начнем с билдера launch. Мы уже использовали его в прошлых уроках, чтобы создавать корутины. Но у него есть еще пара возможностей, о которых надо рассказать отдельно. В прошлом уроке мы рассматривали такой пример: Мы выяснили, что билдер launch создает и запускает корутину. Билдер не ждет, пока корутина выполнится, и не блокирует выполнение метода onRun.…

  • Scope

    Scope можно в чем-то сравнить с Активити Андроида. Если весь ЮИ отрисовывается в рамках Активити и нигде больше, то также и с Корутинами. Их можно запустить в рамках Scope-а. Также и suspend-функции запускаются в рамках scope-а. По примеру борща, scope можно сравнить с тарелкой, в котором будет борщ=) Scope который отменяется за собой отменяет дочерние…