🕥 APIGoogle запустил TrustedTime API
Точное время критично для многих функций приложений, но пользователь может изменить время на устройстве, поэтому может потребоваться более точный источник времени, чем локальное системное время устройства.
Google представил TrustedTime API, который предоставляет надежную временную метку, не зависящую от настроек локального времени устройства.
👉 Читать статью
#новость #android
Точное время критично для многих функций приложений, но пользователь может изменить время на устройстве, поэтому может потребоваться более точный источник времени, чем локальное системное время устройства.
Google представил TrustedTime API, который предоставляет надежную временную метку, не зависящую от настроек локального времени устройства.
👉 Читать статью
#новость #android
👍3
📱 Чем полезен Server Driven UI
Автор статьи рассказывает о Server Driven UI по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрит подходы к ее реализации
👉 Читать статью
#новость #android #ios
Автор статьи рассказывает о Server Driven UI по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрит подходы к ее реализации
👉 Читать статью
#новость #android #ios
🤩3
👾 Как оживает смартфон
Вы когда-нибудь задумывались, что происходит в момент загрузки телефона? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?
Автор статьи рассказывает, что скрывается под капотом Android и показывает процесс его запуска.
👉 Читать статью
#новость #android
Вы когда-нибудь задумывались, что происходит в момент загрузки телефона? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?
Автор статьи рассказывает, что скрывается под капотом Android и показывает процесс его запуска.
👉 Читать статью
#новость #android
❤1
📲 Погружаемся в мир технологий Яндекс Переводчика
В этом подкасте ведущий Android-разработчик Яндекс Переводчика рассказывает о своем пути в разработку, об уникальных функциях приложения, включая перевод изображений и документов, а также интеграцию с камерой и браузером. Также вы узнаете о будущем переводных технологий в эру больших языковых моделей.
👀 Смотреть видео
#новость #android
В этом подкасте ведущий Android-разработчик Яндекс Переводчика рассказывает о своем пути в разработку, об уникальных функциях приложения, включая перевод изображений и документов, а также интеграцию с камерой и браузером. Также вы узнаете о будущем переводных технологий в эру больших языковых моделей.
👀 Смотреть видео
#новость #android
😁2❤1
Шаблон MVC предполагает разделение кода на 3 компонента. При создании класса/файла приложения разработчик должен отнести его к одному из следующих трёх уровней:
🔹 Модель:
Этот компонент хранит данные приложения. Он ничего не знает об интерфейсе. Модель отвечает за обработку логики предметной области (реальных бизнес-правил) и взаимодействие с базой данных и сетевыми уровнями.
🔹 Представление:
Это слой пользовательского интерфейса (UI), в котором содержатся компоненты, видимые на экране. Кроме того, он обеспечивает визуализацию данных, хранящихся в модели, и позволяет пользователю взаимодействовать с ними.
🔹 Контроллер:
Этот компонент устанавливает связь между Представлением и Моделью. Он содержит основную логику приложения, получает информацию о действиях пользователя и обновляет Модель в соответствии с потребностями.
Несмотря на применение схемы MVC для модульного проектирования приложения, уровни кода зависят друг от друга. В этом шаблоне Представление и Контроллер зависят от Модели. Для применения шаблона MVC в проекте можно использовать несколько подходов:
В MVC данные обновляет контроллер, а представление их только отображает. Модель отделена и тестируется независимо от UI. Если представление соблюдает принцип единой ответственности — лишь передаёт действия контроллеру и показывает данные без бизнес-логики — то его достаточно проверять UI-тестами.
#буст #SeniorView #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3❤1
Хотите быстро отследить, что происходит в приложении на устройстве или эмуляторе?
На помощь приходит простая команда:
adb logcat | grep "MyTag"
— Подключается к логам Android-устройства или эмулятора
— Фильтрует вывод по тегу (например,
MyTag, который вы используете в Log.d(...))— Показывает только нужные строки, чтобы не тонуть в море системных логов
— Нужно быстро найти крэш или баг прямо на реальном устройстве
— Хотите дебажить только свою часть логов, а не весь Android-спам
— Проверяете работу логирования перед релизом
Добавьте уровни логов для фильтрации:
adb logcat *:E # только ошибки
adb logcat *:W # предупреждения и выше
adb logcat в работе?#буст #JuniorKit #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
To Do — простое приложение для ведения дел на Jetpack Compose с настраиваемыми темами Material Design 3.
#буст #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👾1
Чтобы быстрее освоиться в Android Studio, держи подборку полезных сочетаний клавиш (Windows/Linux → Mac в скобках):
Ctrl + Shift + F (Cmd + Shift + F)Найдёшь любой фрагмент кода во всём проекте.
Ctrl + N (Cmd + O)Откроешь нужный класс по имени без лишней навигации.
Ctrl + Alt + L (Cmd + Option + L)Приводит код к читаемому виду по стилю проекта.
Ctrl + Space (Ctrl + Space)Экономит время, подсказывает методы и переменные.
Shift + F10 (Ctrl + R)Мгновенный запуск на эмуляторе или подключённом устройстве.
Освоив эти комбинации, ты будешь писать и навигироваться по проекту заметно быстрее
#буст #JuniorKit #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
👾 Шаблон архитектуры MVP
MVP (Model - View - Presenter) появился как альтернатива традиционному архитектурному паттерну MVC (Model - View - Controller). Используя MVC в качестве архитектуры приложения, разработчики сталкиваются со следующими трудностями:
🔘 Большая часть основной бизнес-логики находится в Controller. В течение жизненного цикла приложения этот файл становится всё больше и его становится сложно поддерживать.
🔘 Из-за тесной связки пользовательского интерфейса и механизмов доступа к данным, и Controller, и View оказываются в одной Activity или Fragment. Это создаёт проблемы при внесении изменений в функциональность приложения.
🔘 Становится трудно проводить модульное тестирование разных слоёв, так как большинство тестируемых частей зависят от компонентов Android SDK.
Паттерн MVP решает эти проблемы MVC и предоставляет простой способ структурировать код проекта. Причина, по которой MVP широко применяется, заключается в том, что он обеспечивает модульность, тестируемость и более чистую и удобную в сопровождении кодовую базу. Он состоит из следующих трёх компонентов:
🔹 Model: слой для хранения данных. Отвечает за обработку предметной логики (реальных бизнес-правил) и взаимодействие с базой данных и сетевым уровнем.
🔹 View: слой пользовательского интерфейса (UI). Он отвечает за визуализацию данных и отслеживает действия пользователя, чтобы уведомлять Presenter.
🔹 Presenter: получает данные из модели и применяет UI-логику, чтобы решить, что отображать. Он управляет состоянием View и выполняет действия в соответствии с уведомлениями о действиях пользователя.
🐸 Библиотека мобильного разработчика
#буст #SeniorView #Android
MVP (Model - View - Presenter) появился как альтернатива традиционному архитектурному паттерну MVC (Model - View - Controller). Используя MVC в качестве архитектуры приложения, разработчики сталкиваются со следующими трудностями:
Паттерн MVP решает эти проблемы MVC и предоставляет простой способ структурировать код проекта. Причина, по которой MVP широко применяется, заключается в том, что он обеспечивает модульность, тестируемость и более чистую и удобную в сопровождении кодовую базу. Он состоит из следующих трёх компонентов:
🔹 Model: слой для хранения данных. Отвечает за обработку предметной логики (реальных бизнес-правил) и взаимодействие с базой данных и сетевым уровнем.
🔹 View: слой пользовательского интерфейса (UI). Он отвечает за визуализацию данных и отслеживает действия пользователя, чтобы уведомлять Presenter.
🔹 Presenter: получает данные из модели и применяет UI-логику, чтобы решить, что отображать. Он управляет состоянием View и выполняет действия в соответствии с уведомлениями о действиях пользователя.
#буст #SeniorView #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥱2😁1
Обрезка — это удаление частей контента за пределами заданной формы. Представьте, что вы используете формочки для печенья: всё, что находится внутри формочки, остаётся, а всё, что снаружи, удаляется.
В Compose это делается с помощью
Modifier.clip функции:Image(
painter = painterResource(R.drawable.avatar),
contentDescription = null,
modifier = Modifier
.size(72.dp)
.clip(CircleShape)
)
Здесь изображение обрезается по кругу, независимо от фактических границ растрового изображения.
Если встроенных фигур (
CircleShape, RoundedCornerShape и т. д.) недостаточно, вы можете создать собственную Shape и нарисовать свой собственный контур. Например:class SquishedOvalShape : Shape {
override fun createOutline(
size: Size,
layoutDirection: LayoutDirection,
density: Density
): Outline {
return Outline.Generic(
Path().apply {
addOval(Rect(0f, size.height / 4f, size.width, size.height))
}
)
}
}Примените его, как и любую другую форму:
Modifier.clip(SquishedOvalShape())
#PixelPerfect #MiddlePath #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2