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