Nearby Connections API
#theory #api
Сегодня расскажу вам о довольно редком, но, на мой взгляд крутом и недооценённом API — Nearby Connections API. Оно позволяет устройствам связываться друг с другом даже при отсутствии Интернета.
Для чего нужно?
Это API даёт возможность делиться какими-то файлами, сообщениями и другими данными в своём приложении без сети. На сайте с документацией приведены такие примеры:
🔹трансфер файлов оффлайн;
🔹использование девайса в качестве контроллера в играх;
🔹игры с оффлайн мультиплеером;
🔹доски для совместной работы.
Как работает?
API использует Bluetooth и другие технологии, например WiFi, которые обеспечивают peer-to-peer соединение на близком расстоянии (в пределах 100 метров).
Безусловно, есть лимиты на количество соединений: Bluetooth поддерживает около 4 соединений одновременно, WiFi ограничивает примерно от 10 до 100 подключений одновременно в зависимости от того, доступны ли маршрутизаторы, которые можно использовать как «мост».
Помимо этого API существует альтернатива — Nearby Messages API, правда ей для работы нужен Интернет и размер передаваемых данных довольно мал.
С другой стороны, Nearby Connections API может работать только на Android, а прыдущий аналог поддерживает ещё и iOS.
На мой взгляд, это весьма крутая штука, которую можно использовать для интересных проектов, где важна коммуникация между пользователями, но Интернет-соединение не самое надёжное. Если вы добавляли подобную фичу в свой проект, то обязательно пишите в комментариях.
Больше деталей о том, как добавить в проект это API можно найти тут.
#theory #api
Сегодня расскажу вам о довольно редком, но, на мой взгляд крутом и недооценённом API — Nearby Connections API. Оно позволяет устройствам связываться друг с другом даже при отсутствии Интернета.
Для чего нужно?
Это API даёт возможность делиться какими-то файлами, сообщениями и другими данными в своём приложении без сети. На сайте с документацией приведены такие примеры:
🔹трансфер файлов оффлайн;
🔹использование девайса в качестве контроллера в играх;
🔹игры с оффлайн мультиплеером;
🔹доски для совместной работы.
Как работает?
API использует Bluetooth и другие технологии, например WiFi, которые обеспечивают peer-to-peer соединение на близком расстоянии (в пределах 100 метров).
Безусловно, есть лимиты на количество соединений: Bluetooth поддерживает около 4 соединений одновременно, WiFi ограничивает примерно от 10 до 100 подключений одновременно в зависимости от того, доступны ли маршрутизаторы, которые можно использовать как «мост».
Помимо этого API существует альтернатива — Nearby Messages API, правда ей для работы нужен Интернет и размер передаваемых данных довольно мал.
С другой стороны, Nearby Connections API может работать только на Android, а прыдущий аналог поддерживает ещё и iOS.
На мой взгляд, это весьма крутая штука, которую можно использовать для интересных проектов, где важна коммуникация между пользователями, но Интернет-соединение не самое надёжное. Если вы добавляли подобную фичу в свой проект, то обязательно пишите в комментариях.
Больше деталей о том, как добавить в проект это API можно найти тут.
Material Transitions
#api #fragment
Анимация редко меняет главную функциональность приложения. Но нельзя отрицать, что она имеет большое значение для пользователя. Когда в приложении есть анимация, все выглядит плавнее и пользователю легче понять, как элементы экрана сочетаются друг с другом.
Одним из типов анимаций является Transitions: это анимации перемещения с одного экрана на другой. Мы можем анимировать или весь экран целиком, или только некоторые
Попалась статья, где автор рассказывает о добавлении анимаций в приложение, где не было никаких анимаций перехода и о результатах, которые он получил.
#api #fragment
Анимация редко меняет главную функциональность приложения. Но нельзя отрицать, что она имеет большое значение для пользователя. Когда в приложении есть анимация, все выглядит плавнее и пользователю легче понять, как элементы экрана сочетаются друг с другом.
Одним из типов анимаций является Transitions: это анимации перемещения с одного экрана на другой. Мы можем анимировать или весь экран целиком, или только некоторые
View этого экрана. Попалась статья, где автор рассказывает о добавлении анимаций в приложение, где не было никаких анимаций перехода и о результатах, которые он получил.
Annotation processors с KSP
#kotlin #api
KSP — это API от Google для создания лёгковесных плагинов для компилятора Kotlin и annotation processors.
На практике мало кто использует написание плагинов с нуля, но подобные знания могут значительно увеличить скорость решения некоторых задач. Да и в целом полезно знать что ещё можно сделать и какие API для этого есть.
Если эта тема хоть немного вам интересна, то вот простой туториал для старта. В нём автор пишет плагин, который преобразовывает:
В функцию следующего вида:
Рассматривается всё, начиная с информации о базовой структуре проекта и заканчивая реализацией и примерами кода.
Ссылка на статью тут.
#kotlin #api
KSP — это API от Google для создания лёгковесных плагинов для компилятора Kotlin и annotation processors.
На практике мало кто использует написание плагинов с нуля, но подобные знания могут значительно увеличить скорость решения некоторых задач. Да и в целом полезно знать что ещё можно сделать и какие API для этого есть.
Если эта тема хоть немного вам интересна, то вот простой туториал для старта. В нём автор пишет плагин, который преобразовывает:
@Function(name = "myAmazingFunction")
interface MyAmazingFunction {
val arg1: String
val arg2: Map<String, List<*>>
}В функцию следующего вида:
fun myAmazingFunction(
arg1: String,
arg2: Map<String, List<*>>
) {
println("Hello from myAmazingFunction")
}Рассматривается всё, начиная с информации о базовой структуре проекта и заканчивая реализацией и примерами кода.
Ссылка на статью тут.
Перенос учетных записей с Block Store
#api #library
Думаю, что вы частенько сталкивались с ситуацией, что при покупке нового смартфона вам нужно заново залогиниться во все установленные приложения. Это доставляет уйму неудобств: ведь мы помним пароли не ко всем приложениям, тратим кучу времени на их восстановление.
Зачастую бывает и так, что пользователь просто забивает на восстановление пароля, удаляет приложение или в лучшем случае регистрируется заново. Но мы, как разработчики, можем улучшить пользовательский опыт и добавить «бесшовную» авторизацию в приложения при помощи Block Store.
Block Store API позволяет сохранять учётные данные пользователя, что позже позволяет заново авторизовать его на новом девайсе. Интеграция довольно простая, о ней можно почитать в этой статье.
Не уверен, насколько это действительно безопасно и подходит ли этот способ для всех приложений. Но выглядит любобытно, раньше никогда не слышал об этом API.
#api #library
Думаю, что вы частенько сталкивались с ситуацией, что при покупке нового смартфона вам нужно заново залогиниться во все установленные приложения. Это доставляет уйму неудобств: ведь мы помним пароли не ко всем приложениям, тратим кучу времени на их восстановление.
Зачастую бывает и так, что пользователь просто забивает на восстановление пароля, удаляет приложение или в лучшем случае регистрируется заново. Но мы, как разработчики, можем улучшить пользовательский опыт и добавить «бесшовную» авторизацию в приложения при помощи Block Store.
Block Store API позволяет сохранять учётные данные пользователя, что позже позволяет заново авторизовать его на новом девайсе. Интеграция довольно простая, о ней можно почитать в этой статье.
Не уверен, насколько это действительно безопасно и подходит ли этот способ для всех приложений. Но выглядит любобытно, раньше никогда не слышал об этом API.
Изменения виджетов для Android 12
#api #view #question
Виджеты существуют уже долгое время, и, думаю, каждый пользователь смартфона на Android использует хотя бы один на своём рабочем столе. Но не так много приложений включает их в свой арсенал: нет подходящих фич для того, чтобы их использовать, или же текущее API не позволяет добавить то, что хочется.
С появлением Android 12 у нас есть изменения в API виджетов, вероятно это вдохнёт новую жизнь в этот элемент. 🤞🏻
Обязательно почитайте эту статью, где описываются все изменения: ведь теперь нужно учитывать скругления, переключения тем и превью при добавлении.
А тут уже больше измений, связанных с кодом. Рассказывается о новом API и поддержки их в виджетах, что также может помочь вам в использовании виджетов на последнем Android.
А у вас в приложении есть виджеты?
#api #view #question
Виджеты существуют уже долгое время, и, думаю, каждый пользователь смартфона на Android использует хотя бы один на своём рабочем столе. Но не так много приложений включает их в свой арсенал: нет подходящих фич для того, чтобы их использовать, или же текущее API не позволяет добавить то, что хочется.
С появлением Android 12 у нас есть изменения в API виджетов, вероятно это вдохнёт новую жизнь в этот элемент. 🤞🏻
Обязательно почитайте эту статью, где описываются все изменения: ведь теперь нужно учитывать скругления, переключения тем и превью при добавлении.
А тут уже больше измений, связанных с кодом. Рассказывается о новом API и поддержки их в виджетах, что также может помочь вам в использовании виджетов на последнем Android.
А у вас в приложении есть виджеты?