HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: программирование на android, android q, google i/o 2019, андроид, pendingintent, activity, viewpager, drawerlayout, exclusion zones</p>
1 <p>Теги: программирование на android, android q, google i/o 2019, андроид, pendingintent, activity, viewpager, drawerlayout, exclusion zones</p>
2 <p>Не так давно отгремела конференция для разработчиков<strong>Google I/O 2019</strong>. И на ней представили много давно ожидаемых и полезных фич, которые уже можно попробовать в своих приложениях. НО! Не рекомендуем сразу бросаться обновлять приложения, которыми пользуются люди. Давайте сначала посмотрим, что может пойти не так.</p>
2 <p>Не так давно отгремела конференция для разработчиков<strong>Google I/O 2019</strong>. И на ней представили много давно ожидаемых и полезных фич, которые уже можно попробовать в своих приложениях. НО! Не рекомендуем сразу бросаться обновлять приложения, которыми пользуются люди. Давайте сначала посмотрим, что может пойти не так.</p>
3 - <p><em>Вообще, список изменений в новой ОС довольно большой, но мы остановимся на наиолее практичных с точки зрения конечного пользователя.</em></p>
3 + <p><em>Вообще, список изменений в новой ОС довольно большой, но мы остановимся на наиболее практичных с точки зрения конечного пользователя.</em></p>
4 <h2>Разрешение на использование геолокации</h2>
4 <h2>Разрешение на использование геолокации</h2>
5 <p>В Android Q появилось<a>разрешение на геолокацию в фоновом режиме</a>. То есть пользователь теперь решает не только дать или запретить доступ к геолокации для вашего приложения, но и будет ли этот доступ работать, если приложение свёрнуто. В некоторых случаях достаточно будет нескольких строк кода (если есть разрешение<strong><a>ACCESS_FINE_LOCATION</a></strong>), в некоторых - приложение может просто не открыться. Проверьте это заранее!</p>
5 <p>В Android Q появилось<a>разрешение на геолокацию в фоновом режиме</a>. То есть пользователь теперь решает не только дать или запретить доступ к геолокации для вашего приложения, но и будет ли этот доступ работать, если приложение свёрнуто. В некоторых случаях достаточно будет нескольких строк кода (если есть разрешение<strong><a>ACCESS_FINE_LOCATION</a></strong>), в некоторых - приложение может просто не открыться. Проверьте это заранее!</p>
6 <h2>Запуск Activity из фонового режима будет невозможен</h2>
6 <h2>Запуск Activity из фонового режима будет невозможен</h2>
7 <p>Случаев, когда это действительно нужно, не так уж и много. Сами убедитесь, что вы корректно используете<strong><a>PendingIntent</a></strong>(<a>что ещё можно использовать</a>).</p>
7 <p>Случаев, когда это действительно нужно, не так уж и много. Сами убедитесь, что вы корректно используете<strong><a>PendingIntent</a></strong>(<a>что ещё можно использовать</a>).</p>
8 <h2>Тёмная тема (наконец-то!)</h2>
8 <h2>Тёмная тема (наконец-то!)</h2>
9 <p>Теперь тёмную тему можно применять автоматически или в несколько строк кода (система сама перерисует ваши экраны). Если у вас уже реализована тёмная тема в приложении, то смысла что-то переделывать нет, если не реализована - рекомендуем её включить и проверить все экраны. Система может так инвертировать цвета в некоторых местах, что станет больно смотреть! В этом случае можно обойтись малой кровью и исключить часть элементов из тёмной темы и перерисовать самостоятельно.</p>
9 <p>Теперь тёмную тему можно применять автоматически или в несколько строк кода (система сама перерисует ваши экраны). Если у вас уже реализована тёмная тема в приложении, то смысла что-то переделывать нет, если не реализована - рекомендуем её включить и проверить все экраны. Система может так инвертировать цвета в некоторых местах, что станет больно смотреть! В этом случае можно обойтись малой кровью и исключить часть элементов из тёмной темы и перерисовать самостоятельно.</p>
10 <h2>Жесты навигации по краям экрана</h2>
10 <h2>Жесты навигации по краям экрана</h2>
11 <p>С<strong>Android Q</strong>на всех смартфонах появляется новая система жестов, для которой не нужны кнопки в принципе. Это сделано для того, чтобы освободить как можно больше места на экране (в идеале - сделать экран безрамочным). Жесты слева и справа от края экрана будут возвращать пользователя на предыдущий экран, жесты снизу - сворачивать и листать приложения.</p>
11 <p>С<strong>Android Q</strong>на всех смартфонах появляется новая система жестов, для которой не нужны кнопки в принципе. Это сделано для того, чтобы освободить как можно больше места на экране (в идеале - сделать экран безрамочным). Жесты слева и справа от края экрана будут возвращать пользователя на предыдущий экран, жесты снизу - сворачивать и листать приложения.</p>
12 <p>Поэтому самое пристальное внимание нужно уделить элементам экрана в районе нижней панели,<strong>ViewPager</strong>,<strong><a>DrawerLayout</a></strong>и вертикальным/горизонтальным спискам, когда пользователь вместо прокрутки может перейти на предыдущий экран. Для решения этой проблемы есть<strong><a>exclusion zones</a></strong>.</p>
12 <p>Поэтому самое пристальное внимание нужно уделить элементам экрана в районе нижней панели,<strong>ViewPager</strong>,<strong><a>DrawerLayout</a></strong>и вертикальным/горизонтальным спискам, когда пользователь вместо прокрутки может перейти на предыдущий экран. Для решения этой проблемы есть<strong><a>exclusion zones</a></strong>.</p>
13 <h2>Вместо вывода</h2>
13 <h2>Вместо вывода</h2>
14 <p>Есть ещё довольно много нововведений, которые тут не отмечены. Рекомендуем вам ознакомиться с полным списком на сайте разработчиков и потестировать своё приложение, если вас эти изменения касаются.<strong>Happy coding!</strong></p>
14 <p>Есть ещё довольно много нововведений, которые тут не отмечены. Рекомендуем вам ознакомиться с полным списком на сайте разработчиков и потестировать своё приложение, если вас эти изменения касаются.<strong>Happy coding!</strong></p>
15 <p><em>Обзор подготовлен специально для OTUS. За подготовку материала выражается благодарность Александру Аникину.</em></p>
15 <p><em>Обзор подготовлен специально для OTUS. За подготовку материала выражается благодарность Александру Аникину.</em></p>
16  
16