Android: новые запреты и чистый код на Kotlin - «Новости» » Самоучитель CSS
Меню
Наши новости
Учебник CSS

Невозможно отучить людей изучать самые ненужные предметы.

Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3

Надо знать обо всем понемножку, но все о немногом.

Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы

Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)

Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода

Самоучитель CSS

Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5

Новости

Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости

Справочник CSS

Справочник от А до Я
HTML, CSS, JavaScript

Афоризмы

Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы

Видео Уроки


Наш опрос



Наши новости

       
24-07-2020, 12:40
Android: новые запреты и чистый код на Kotlin - «Новости»
Рейтинг:
Категория: Новости

Сегодня в выпуске: ответы Android engineering team на вопросы пользователей Reddit, запрет на доступ к сторонним приложениям в новых версиях Android, способ предотвратить клонирование приложения, множество советов, как писать чистый код на Kotlin, рассказ о функции with из уст разработчиков Koltin, польза и вред функций-расширений. А также: очередная порция библиотек и инструментов пентестера.

Почитать


Разработчики Android отвечают на вопросы



Android engineering team QA — ежегодная сессия вопросов и ответов команды разработчиков Android на Reddit. Как обычно, вопросы банальные, а ответы обтекаемые. Но есть несколько интересных моментов.



  1. С Android 11 производители будут обязаны сообщать пользователям, что их прошивка может убить приложение и не дать ему работать в фоне. Также в прошивке должна быть возможность отключить такое поведение. Кроме того, производителям придется убрать из своих прошивок белые списки популярных приложений, которые могут работать в фоне. В теории все это должно смягчить проблему некорректной работы приложений на китайских смартфонах.

  2. В Android 11 появился API, позволяющий узнать, почему приложение было завершено. Это опять же позволит выяснить, почему приложение на самом деле было завершено и связано ли это с некорректными действиями прошивки.

  3. В Android 11 появился сервис I/O Read Ahead Process (IORap), который выполняет предварительную загрузку нужных приложению ресурсов и данных во время старта приложения. Это дало прирост скорости холодного запуска в 5–20%.

  4. Еще один интересный API Android 11 — Data Access Auditing API, позволяющий получить информацию о том, какие приватные данные пользователя (местоположение, контакты и так далее) становятся доступны приложению. Это API для разработчиков, желающих выяснить, обращаются ли сторонние библиотеки или legacy-код к приватным данным пользователя. Подробности — в блоге Android Developers.


Запрет на доступ к приложениям



Package visibility in Android 11 — статья разработчиков Android о новом запрете Android 11, благодаря которому сторонние приложения больше не смогут получать информацию или запускать любое установленное на смартфон приложение.



Напомню, что до версии 11 Android предоставлял вполне официальный API для получения информации обо всех установленных на смартфон приложениях (имя, версия, время установки и так далее) и не налагал никаких запретов на запуск любых приложений. Этим пользовались не только сторонние менеджеры приложений, панели быстрого запуска и другой полезный софт, но и разного рода малварь и недобросовестные разработчики, сливающие информацию на третью сторону.



Начиная с Andoroid 11 система будет ограничивать доступный приложению список установленных приложений и обяжет разработчиков перечислять приложения, с которыми приложение автора хочет контактировать, в манифесте:



<manifest package="com.example.game">
<queries>
<package android:name="com.example.store" />
<package android:name="com.example.service" />
</queries>
...
</manifest>


Кроме самих приложений, также можно перечислить типы интентов, которые собирается использовать приложение (в следующем примере приложение заявляет о своем намерении делиться изображениями с другими приложениями):



<manifest package="com.example.game">
<queries>
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/jpeg" />
</intent>
</queries>
...
</manifest>


Эти требования будут распространяться на все приложения, собранные для API 30 и выше (targetSdkVersion=30), и не коснутся уже существующих приложений, до тех пор пока в Google Play не будет введен минимальный уровень API 30.



Для лаунчеров и других приложений, которым необходим доступ ко всем установленным приложениям, предусмотрено новое разрешение QUERY_ALL_PACKAGES. Но для его использования придется проходить ручную премодерацию.


Разработчику


Чистый код на Kotlin



Write fluent code in Kotlin — статья с советами о том, как сделать код на Kotlin более понятным для чтения.



  1. Используй require и check:

require(arg.length < 10) {
"message"
}

val result = checkNotNull(bar(arg)) {
"message"
}

/// вместо ///

if (arg.length < 10) {
throw IllegalArgumentException("message")
}

val result = bar(arg)
?: throw IllegalStateException("message")


  1. Используй функции вместо комментариев:


Сегодня в выпуске: ответы Android engineering team на вопросы пользователей Reddit, запрет на доступ к сторонним приложениям в новых версиях Android, способ предотвратить клонирование приложения, множество советов, как писать чистый код на Kotlin, рассказ о функции with из уст разработчиков Koltin, польза и вред функций-расширений. А также: очередная порция библиотек и инструментов пентестера. Почитать Разработчики Android отвечают на вопросы Android engineering team QA — ежегодная сессия вопросов и ответов команды разработчиков Android на Reddit. Как обычно, вопросы банальные, а ответы обтекаемые. Но есть несколько интересных моментов. С Android 11 производители будут обязаны сообщать пользователям, что их прошивка может убить приложение и не дать ему работать в фоне. Также в прошивке должна быть возможность отключить такое поведение. Кроме того, производителям придется убрать из своих прошивок белые списки популярных приложений, которые могут работать в фоне. В теории все это должно смягчить проблему некорректной работы приложений на китайских смартфонах. В Android 11 появился API, позволяющий узнать, почему приложение было завершено. Это опять же позволит выяснить, почему приложение на самом деле было завершено и связано ли это с некорректными действиями прошивки. В Android 11 появился сервис I/O Read Ahead Process (IORap), который выполняет предварительную загрузку нужных приложению ресурсов и данных во время старта приложения. Это дало прирост скорости холодного запуска в 5–20%. Еще один интересный API Android 11 — Data Access Auditing API, позволяющий получить информацию о том, какие приватные данные пользователя (местоположение, контакты и так далее) становятся доступны приложению. Это API для разработчиков, желающих выяснить, обращаются ли сторонние библиотеки или legacy-код к приватным данным пользователя. Подробности — в блоге Android Developers. Запрет на доступ к приложениям Package visibility in Android 11 — статья разработчиков Android о новом запрете Android 11, благодаря которому сторонние приложения больше не смогут получать информацию или запускать любое установленное на смартфон приложение. Напомню, что до версии 11 Android предоставлял вполне официальный API для получения информации обо всех установленных на смартфон приложениях (имя, версия, время установки и так далее) и не налагал никаких запретов на запуск любых приложений. Этим пользовались не только сторонние менеджеры приложений, панели быстрого запуска и другой полезный софт, но и разного рода малварь и недобросовестные разработчики, сливающие информацию на третью сторону. Начиная с Andoroid 11 система будет ограничивать доступный приложению список установленных приложений и обяжет разработчиков перечислять приложения, с которыми приложение автора хочет контактировать, в манифесте: Кроме самих приложений, также можно перечислить типы интентов, которые собирается использовать приложение (в следующем примере приложение заявляет о своем намерении делиться изображениями с другими приложениями): Эти требования будут распространяться на все приложения, собранные для API 30 и выше (targetSdkVersion=30), и не коснутся уже существующих приложений, до тех пор пока в Google Play не будет введен минимальный уровень API 30. Для лаунчеров и других приложений, которым необходим доступ ко всем установленным приложениям, предусмотрено новое разрешение QUERY_ALL_PACKAGES. Но для его использования придется проходить ручную премодерацию. Разработчику Чистый код на Kotlin Write fluent code in Kotlin — статья с советами о том, как сделать код на Kotlin более понятным для чтения. Используй require и check: Используй функции вместо комментариев:

Теги: CSS

Просмотров: 560
Комментариев: 0:   24-07-2020, 12:40
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 
Еще новости по теме:



Другие новости по теме: