Расскажите про Looper
В обычных программах вызывается метод main() и исполнение программы завершается сразу после того как исполнится метод main(). Но в Андроид приложения зачастую вынуждены ожидать действий пользователя и только потом выполнять какое-либо действие. Для этого в Андроид используются три класса: Looper, MessageQueue и Handler
Looper с английского переводится как “зацикливатель”. В обычном случае у потока есть метод run() и поток завершается как только происходит возврат из метода run(). Но Looper заставляет данный поток работать до тех пор, пока не будет вызван метод quit(). Его можно рассматривать как движок V8, который запускает цикл обработки сообщений для данного потока.
Зачастую лупер необходимо использовать, чтобы создать Handler для главного потока. Получить лупер главного потока можно используя функцию Looper.getMainLooper() либо же activity.getMainLooper()
Портфолио из реальных проектов
AI Sprints — обучение профессиям с ИИ
Создавайте проекты с первых недель. Telegram-бот, Android-приложение, Backend API — всё на GitHub с тестами и CI/CD
- Проекты на GitHub: каждый трек даёт 3–5 работ для портфолио — показываете на собесах
- Код-ревью менторов: учитесь писать чисто и правильно — код не стыдно показать
- Production-качество: тесты, CI/CD, документация — как в продуктовых командах
AI Challenge — собери чат-бота за 5 дней
Бесплатный марафон по AI-инжинирингу. Cursor + OpenAI, 60 минут в день — без опыта в программировании. К пятнице у вас будет рабочий чат-бот с памятью в браузере.
- Практика с первого дня, без теории «в стол»
- Готовый проект в портфолио к концу недели
- Старт в любой день — учитесь в своём темпе