Jetpack Compose
1. Верстка экрана в Jetpack Compose Beta. Часть 1
2. Верстка экрана в Jetpack Compose Beta. Часть 2
3. Jetpack Compose. Основы. State
4. Jetpack Compose. Основы. Navigation
5. Jetpack Compose. Основы. UI
6. Jetpack Compose. Основы. Темы и стили
7. Jetpack Compose. ViewModel. Как выбрать архитектуру для Compose?
8. Jetpack Compose. Side Effects. Как управлять логикой в Compose?
#video #android
https://www.youtube.com/watch?v=o4EQnWfegoE&list=PL_RkZ4J60MDn4y00uF4sslWUdYMHEDM_6
@android_its
1. Верстка экрана в Jetpack Compose Beta. Часть 1
2. Верстка экрана в Jetpack Compose Beta. Часть 2
3. Jetpack Compose. Основы. State
4. Jetpack Compose. Основы. Navigation
5. Jetpack Compose. Основы. UI
6. Jetpack Compose. Основы. Темы и стили
7. Jetpack Compose. ViewModel. Как выбрать архитектуру для Compose?
8. Jetpack Compose. Side Effects. Как управлять логикой в Compose?
#video #android
https://www.youtube.com/watch?v=o4EQnWfegoE&list=PL_RkZ4J60MDn4y00uF4sslWUdYMHEDM_6
@android_its
👍8
RemoteVideoCam – приложение на Android, что позволяет передавать потоковое видео/аудио между девайсами в одной и той же локальной сети
Приложение можно использовать для наблюдения за вещами в доме или во дворе, в качестве рации и т. д.
⤷ Ссылка на проект
@android_its | #Interesting #Android #Video #Useful
Приложение можно использовать для наблюдения за вещами в доме или во дворе, в качестве рации и т. д.
⤷ Ссылка на проект
@android_its | #Interesting #Android #Video #Useful
👍5🔥2
DivKit – фреймворк для ускорения мобильной разработки
Проект позволяет внедрить подход Server Driven UI при разработке мобильного приложения. Включает в себя несколько библиотек: клиентскую часть по отрисовке интерфейсов для Android, iOS и веба, а также DSL для формирования ответа сервера на Kotlin, TypeScript и Python.
⤷ Ссылка на проект
⤷ Статья с примерами
@android_its | #UI #Android #iOS
Проект позволяет внедрить подход Server Driven UI при разработке мобильного приложения. Включает в себя несколько библиотек: клиентскую часть по отрисовке интерфейсов для Android, iOS и веба, а также DSL для формирования ответа сервера на Kotlin, TypeScript и Python.
⤷ Ссылка на проект
⤷ Статья с примерами
@android_its | #UI #Android #iOS
👍5😁1
☕ Как повысить производительность приложений Java за 9 шагов.
Прежде чем углубляться в каждый конкретный шаг, мы хотели бы дать вам общий обзор того, как повысить производительность приложений Java, а именно:
Выполнить профилирование и нагрузочное тестирование - Профилирование вашего Java-приложения поможет выявить болевые точки и узкие места.
Очистить код и пересмотреть алгоритмы - чистый код легче поддерживать, редактировать, читать и уточнять; пересмотр ваших алгоритмов уменьшает вызовы тавтологических функций.
Избегайте рекурсии, когда это возможно - в некоторых случаях рекурсия является неизбежным злом, хотя ее следует использовать с осторожностью.
Обновление системного оборудования - низкая производительность приложения не может быть связана с плохим кодом и алгоритмами; вместо этого основная причина может быть связана с системой, в которой выполняется приложение.
Увеличить пропускную способность LAN и WAN - не все функции взаимодействуют с локальным оборудованием; если ваше приложение взаимодействует с удаленными системами, возможно, виновата ваша сетевая инфраструктура.
Привести в порядок свою операционную систему - беспорядочные операционные системы нуждаются в обслуживании, чтобы максимально эффективно запускать приложения.
Использование StringBuilder для повышения эффективности - строки почти неизбежны в большинстве приложений, но операция «+ =» крайне неэффективна.
Используйте кеширование для повышения производительности - кэширование является одним из лучших способов уменьшить избыточность экземпляров объектов и вызовов функций.
Пользуйся стеком кучи - стек более эффективен по отношению к системным ресурсам, поскольку он поддерживает себя и освобождает память, занимаемую недействительными объектами.
➡️ Читать дальше
@android_its
Прежде чем углубляться в каждый конкретный шаг, мы хотели бы дать вам общий обзор того, как повысить производительность приложений Java, а именно:
Выполнить профилирование и нагрузочное тестирование - Профилирование вашего Java-приложения поможет выявить болевые точки и узкие места.
Очистить код и пересмотреть алгоритмы - чистый код легче поддерживать, редактировать, читать и уточнять; пересмотр ваших алгоритмов уменьшает вызовы тавтологических функций.
Избегайте рекурсии, когда это возможно - в некоторых случаях рекурсия является неизбежным злом, хотя ее следует использовать с осторожностью.
Обновление системного оборудования - низкая производительность приложения не может быть связана с плохим кодом и алгоритмами; вместо этого основная причина может быть связана с системой, в которой выполняется приложение.
Увеличить пропускную способность LAN и WAN - не все функции взаимодействуют с локальным оборудованием; если ваше приложение взаимодействует с удаленными системами, возможно, виновата ваша сетевая инфраструктура.
Привести в порядок свою операционную систему - беспорядочные операционные системы нуждаются в обслуживании, чтобы максимально эффективно запускать приложения.
Использование StringBuilder для повышения эффективности - строки почти неизбежны в большинстве приложений, но операция «+ =» крайне неэффективна.
Используйте кеширование для повышения производительности - кэширование является одним из лучших способов уменьшить избыточность экземпляров объектов и вызовов функций.
Пользуйся стеком кучи - стек более эффективен по отношению к системным ресурсам, поскольку он поддерживает себя и освобождает память, занимаемую недействительными объектами.
➡️ Читать дальше
@android_its
🔥5👍1
scrcpy – приложение, которое обеспечивает отображение экрана и управление устройствами Android, подключенными через USB или по TCP/IP
Оно не требует root-доступа и работает на GNU/Linux, Windows и macOS
⤷ Ссылка на проект
@android_its | #Android #Interesting #Useful #Screen #Managed
Оно не требует root-доступа и работает на GNU/Linux, Windows и macOS
⤷ Ссылка на проект
@android_its | #Android #Interesting #Useful #Screen #Managed
🔥6👍2
⚙️Пишем свой Telegram для Android на Kotlin // 67 видео
Содержание:
▪️Как создать Telegram. Создаем свой чат мессенджер для Android на Kotlin. Firebase
▪️ Установка Android Studio с нуля на чистую систему
▪️ Подготовка проекта. Как создать клон Telegram. Пишем мессенджер для Android на Kotlin
▪️Создаем боковое меню Material Drawer
▪️Заполняем боковое меню. Как создать клон Telegram
▪️Добавляем фрагменты. Как создать клон Telegram
▪️Рефакторинг кода. Как создать клон Telegram
▪️Заполняем фрагмент настроек. Создаем клон Telegram
▪️Добавляем Options menu с иконками
▪️Создаем окно регистрации по номеру телефона
➖ Смотреть бесплатно
@android_its
Содержание:
▪️Как создать Telegram. Создаем свой чат мессенджер для Android на Kotlin. Firebase
▪️ Установка Android Studio с нуля на чистую систему
▪️ Подготовка проекта. Как создать клон Telegram. Пишем мессенджер для Android на Kotlin
▪️Создаем боковое меню Material Drawer
▪️Заполняем боковое меню. Как создать клон Telegram
▪️Добавляем фрагменты. Как создать клон Telegram
▪️Рефакторинг кода. Как создать клон Telegram
▪️Заполняем фрагмент настроек. Создаем клон Telegram
▪️Добавляем Options menu с иконками
▪️Создаем окно регистрации по номеру телефона
➖ Смотреть бесплатно
@android_its
👍8🔥1
Android-developer-roadmap – «Путеводитель» Android разработчика, что предлагает пути обучения для понимания разработки под данную операционную систему.
#GitHub #Kotlin #Android
@android_its
#GitHub #Kotlin #Android
@android_its
👍4🔥1
QtScrcpy – GUI утилита для отображения и управления вашими устройствами Android через USB (или через TCP/IP)
Вы можете написать свой собственный сценарий для сопоставления действий клавиатуры и мыши с прикосновениями и щелчками мобильного телефона в соответствии с вашими потребностями. Не требует root права
⤷ Ссылка на проект
@android_its | #Interesting #Android #USB
Вы можете написать свой собственный сценарий для сопоставления действий клавиатуры и мыши с прикосновениями и щелчками мобильного телефона в соответствии с вашими потребностями. Не требует root права
⤷ Ссылка на проект
@android_its | #Interesting #Android #USB
🔥4❤1
Важен ли порядок, в котором добавляются операции в FragmentTransaction?
Документация описывает два случая, в которых порядок важен:
1. Метод commit() должен вызываться последним.
2. Если несколько фрагментов добавляются в один контейнер, то порядок добавления определяет порядок в котором фрагменты отрисовываются в иерархии view.
Есть еще третий случай. Если метод addToBackStack(String name) вызывается несколько раз на одной транзакции, то транзакция добавляется в бэкстэк один раз с тегом, который передается в последнем вызове метода.
Пример:
Создается одна транзакция с тегом add2, которая добавляет сразу два фрагмента. При нажатии кнопки Back оба фрагмента будут удалены.
Поведение нескольких addToBackStack() не задокументировано и может различаться на разных версиях ОС, так что не забудьте на собеседовании сказать, что вы бы так никогда делать не стали.
#Fragment
@android_its
Документация описывает два случая, в которых порядок важен:
1. Метод commit() должен вызываться последним.
2. Если несколько фрагментов добавляются в один контейнер, то порядок добавления определяет порядок в котором фрагменты отрисовываются в иерархии view.
Есть еще третий случай. Если метод addToBackStack(String name) вызывается несколько раз на одной транзакции, то транзакция добавляется в бэкстэк один раз с тегом, который передается в последнем вызове метода.
Пример:
supportFragmentManager.beginTransaction()
.add(R.id.fragmentContainer, Fragment1())
.addToBackStack("add1")
.add(R.id.fragmentContainer, Fragment2())
.addToBackStack("add2")
.commit()Создается одна транзакция с тегом add2, которая добавляет сразу два фрагмента. При нажатии кнопки Back оба фрагмента будут удалены.
Поведение нескольких addToBackStack() не задокументировано и может различаться на разных версиях ОС, так что не забудьте на собеседовании сказать, что вы бы так никогда делать не стали.
#Fragment
@android_its
👍11❤1🔥1👏1
Insular – среда «песочницы» Android, для клонирования выбранных приложений и изоляции их от доступа к вашим личным данным
Изолированное приложение может быть заморожено по запросу, при этом значок запуска исчезнет, а его фоновое поведение будет полностью заблокировано
⤷ Ссылка на проект
@android_its | #Interesting #Android #Emulator
Изолированное приложение может быть заморожено по запросу, при этом значок запуска исчезнет, а его фоновое поведение будет полностью заблокировано
⤷ Ссылка на проект
@android_its | #Interesting #Android #Emulator
👍4❤1🔥1
English for Developers - канал для тех, кто хочет учить технический английский. От создатателей популярного ит-канала Data analysis.
1. техническая лексика
2. опросы на английском
3. шутки на английском
Подписывайтесь, проходите опросы, читайте полезные прогерские фразы на английском: english_forprogrammers.
1 канал вместо тысячи учебников и курсов
1. техническая лексика
2. опросы на английском
3. шутки на английском
Подписывайтесь, проходите опросы, читайте полезные прогерские фразы на английском: english_forprogrammers.
1 канал вместо тысячи учебников и курсов
Hypatia – сканер вредоносных программ с открытым исходным кодом для Android
Работает на основе баз данных сигнатур в стиле ClamAV. Интернет используется только для загрузки баз данных, минимум зависимостей и многое другое..
⤷ Ссылка на проект
GitHub | #Interesting #Android #Security
Работает на основе баз данных сигнатур в стиле ClamAV. Интернет используется только для загрузки баз данных, минимум зависимостей и многое другое..
⤷ Ссылка на проект
GitHub | #Interesting #Android #Security
👍4❤1🔥1
Метод FragmentManager.commit() – синхронный или нет?
– Асинхронный.
Это значит, что транзакция не выполняется во время вызова метода. commit() добавляет транзакцию в очередь главного потока и транзакция выполняется при первой возможности.
Чтобы выполнить транзакцию синхронно, можно воспользоваться методом commitNow() вместо commit() или вызвать executePendingTransactions() после метода commit().
#Fragment
@android_its
– Асинхронный.
Это значит, что транзакция не выполняется во время вызова метода. commit() добавляет транзакцию в очередь главного потока и транзакция выполняется при первой возможности.
Чтобы выполнить транзакцию синхронно, можно воспользоваться методом commitNow() вместо commit() или вызвать executePendingTransactions() после метода commit().
#Fragment
@android_its
👍5❤1🔥1
Ghidra – фреймворк для программной реверс-инженерии (SRE)
Созданный и поддерживаемый Исследовательским управлением Агентства национальной безопасности
⤷ Ссылка на проект
@github_code | #Interesting #Java
Созданный и поддерживаемый Исследовательским управлением Агентства национальной безопасности
⤷ Ссылка на проект
@github_code | #Interesting #Java
👍4❤1🔥1
SSL-сертификат — это цифровой сертификат, позволяющий убедиться в том, что сервер, передавший данные клиенту, не подменен и данные передал именно он.
Сертификат состоит из закрытого ключа, который держится в секрете и с помощью которого данные шифруются сервером, и самого сертификата с открытым ключом, с помощью которого данные расшифровываются клиентом. Не имея закрытого ключа, невозможно зашифровать данные таким образом, чтобы клиент расшифровал их тем же открытым ключом. Главная информация в сертификате — это то, кому он выдан, то есть доменное имя.
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1
Forwarded from Python/ django
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2❤1
DiceRoller — это пример приложения, использующего библиотеку Kotlin Multiplatform DataStore
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - android/kotlin-multiplatform-samples: Samples showcasing the Kotlin Multiplatform Jetpack libraries
Samples showcasing the Kotlin Multiplatform Jetpack libraries - android/kotlin-multiplatform-samples
👍3❤2🔥2
Obtainium – единый центр обновления ваших приложений Android
Obtainium позволяет вам устанавливать и обновлять приложения с открытым исходным кодом непосредственно со страниц их выпусков и получать уведомления о появлении новых выпусков
⤷ Ссылка на проект
@github_code | #Interesting #Android #Useful
Obtainium позволяет вам устанавливать и обновлять приложения с открытым исходным кодом непосредственно со страниц их выпусков и получать уведомления о появлении новых выпусков
⤷ Ссылка на проект
@github_code | #Interesting #Android #Useful
❤3👍2🥰1
XPrivacyLua – менеджер по конфиденциальности приложений для Android
Отзыв разрешений у Android приложений часто приводит к ограничениям в функционале или сбоям в работе приложений. XPrivacyLua передаёт приложениям поддельные данные вместо реальных, что позволяет сохранить функционал и конфиденциальность одновременно
#Java #Privacy #Android #Useful
@github_code
Отзыв разрешений у Android приложений часто приводит к ограничениям в функционале или сбоям в работе приложений. XPrivacyLua передаёт приложениям поддельные данные вместо реальных, что позволяет сохранить функционал и конфиденциальность одновременно
#Java #Privacy #Android #Useful
@github_code
GitHub
GitHub - M66B/XPrivacyLua: Really simple to use privacy manager for Android 6.0 Marshmallow and later
Really simple to use privacy manager for Android 6.0 Marshmallow and later - M66B/XPrivacyLua
❤4👍1🔥1
App Icon Generator — удобный онлайн-сервис для генерации иконок приложений
Работает инструмент крайне просто: вы загружаете исходное изображение разрешением 1024 х 1024 пикселя, после чего сервис автоматически создаёт архив с иконками для iPhone, iPad, watchOS, macOS и Android
Стоимость: #бесплатно
#иконки #iOS #android
Работает инструмент крайне просто: вы загружаете исходное изображение разрешением 1024 х 1024 пикселя, после чего сервис автоматически создаёт архив с иконками для iPhone, iPad, watchOS, macOS и Android
Стоимость: #бесплатно
#иконки #iOS #android
👍6❤1🔥1