TGViewer
Channel Public Channel
Android Mobile | YeaHub

Android Mobile | YeaHub

@yeahub_android_mobile

Теория, подготовка к интервью и курсы для Android разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Subscribers
431
Photos
332
Videos
21
Links
597

Showing posts older than #108 · Back to latest

Older Posts 19 shown
Post #106 142
#полезное
🤯 Генерим любое мобильное приложение за пару кликов

Cursor может синхронинизироваться как с Xcode, так и Android Studio. Нужен только интернет, ноут и всего ОДИН промпт.

Разработчик пошагово показал весь процесс на видосе — он создал софт для медитации без единой строки кода.
Гайд тут

👉Новости 👉Платформа
Post #105 121
#Собес
🤔 Что такое корутины в Kotlin?

Корутины в Kotlin - это механизм для асинхронного программирования, который позволяет писать код, как обычный последовательный, но с возможностью приостановки и возобновления выполнения без блокировки потока. Они упрощают работу с параллельными задачами и позволяют выполнять асинхронные операции в удобной и структурированной форме.

👉Новости 👉Платформа
YeaHub YeaHub — тренажер собеседований по IT 5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
Post #104 126
#статьи
🏕 Pисуем аватарки на карте

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

В статье автор рассматривает, как загрузить изображение через Coil и отобразить его на карте при помощи SDK для Yandex MapKit.
Читать статью

👉Новости 👉Платформа
  • ❤ 4
Post #103 123
#полезное
😊 Упрощенное тестирование ViewModel

Начиная с androidx.lifecycle:lifecycle-viewmodel-testing:2.9.0-alpha01 нам доступна структура ViewModelScenario для проверки того как ViewModel переживает реконфигурацию или восстановление состояния. Пример:

class MyViewModelTest {

@Test
fun testStateRestoration() = runTest { // this: TestScope
viewModelScenario { // this: CreationExtras
MyViewModel(
scope = this@runTest,
handle = createSavedStateHandle(),
)
}.use { scenario: ViewModelScenario ->
// Устанавливаем `ViewModel` state.
scenario.recreate()
// Проверяем что state восстановился корректно
}
}
}

👉Новости 👉Платформа
Post #102 132
Джун: пашет сутками и ловит кучу ошибок.

Тот самый тимлид с зп 700к в секунду:

👉Новости 👉Платформа
Post #101 133
#Собес
🤔 Объясните концепцию object expressions в Kotlin.

Object expressions в Kotlin позволяют создавать анонимные обьекты с определённым поведением, которые могут реализовывать интерфейсы или наследовать классы. Эти объекты полезны, когда нужно создать объект для одноразового использования, без создания отдельного именованного класса. Они делают код более компактным и выразительным.

👉Новости 👉Платформа
  • 👍 1
Post #100 147
#ЛитКод
Задача: 649. Dota2 Senate

В мире Dota2 есть две партии: Radiant и Dire. Сенат Dota2 состоит из сенаторов, представляющих две партии. Теперь сенат хочет принять решение об изменении игры Dota2. Голосование за это изменение проходит в несколько раундов. В каждом раунде каждый сенатор может воспользоваться одним из двух прав: Запретить право одного сенатора: Сенатор может заставить другого сенатора потерять все свои права в этом и всех последующих раундах. Объявить о победе: Если этот сенатор обнаружил, что все сенаторы, у которых еще есть право голоса, принадлежат к одной партии, он может объявить о победе и принять решение об изменении игры. Дана строка senate, представляющая партийную принадлежность каждого сенатора. Символы "R" и "D" обозначают партию Лучезарных и партию Ужасных. Если сенаторов n, то размер данной строки будет равен n. Процедура голосования по кругу начинается от первого сенатора к последнему в заданном порядке. Эта процедура длится до конца голосования. Все сенаторы, потерявшие свои права, будут пропущены во время процедуры. Предположим, что каждый сенатор достаточно умен и будет играть по лучшей стратегии для своей партии. Предскажите, какая партия в итоге объявит о победе и изменит игру в Dota2. На выходе должно получиться "Radiant" или "Dire".

Пример:
Input: senate = "RD"
Output: "Radiant"


👨‍💻 Алгоритм:

1⃣Инициализируйте две очереди для хранения индексов сенаторов от партий Radiant и Dire.

2⃣Выполните цикл, пока обе очереди не станут пустыми: Сравните индексы первых сенаторов из обеих очередей. Удалите сенатора с меньшим индексом из очереди и добавьте его с индексом, увеличенным на длину строки. Удалите сенатора с большим индексом из очереди.

3⃣Если одна из очередей опустела, объявите победу партии, чья очередь еще содержит сенаторов.

😎 Решение:
fun predictPartyVictory(senate: String): String {
val radiant = ArrayDeque<Int>()
val dire = ArrayDeque<Int>()

for (i in senate.indices) {
if (senate[i] == 'R') {
radiant.add(i)
} else {
dire.add(i)
}
}

while (radiant.isNotEmpty() && dire.isNotEmpty()) {
val r = radiant.removeFirst()
val d = dire.removeFirst()
if (r < d) {
radiant.add(r + senate.length)
} else {
dire.add(d + senate.length)
}
}

return if (radiant.isEmpty()) "Dire" else "Radiant"
}


👉Новости 👉Платформа
Post #99 156
#полезное
😍 Создаем понятный и приятный глазу пользовательский интерфейс без привлечения дизайнера

—
нейронка Galileo AI справится даже со сложным таском на UI и сэкономит часы при разработке, а также бюджет проекта.

🟠 Создает дизайны ЛЮБЫХ приложений.
🟠 Работает шустро.
🟠 Готовый результат можно редачить сразу.
🟠 Есть возможность экспорта в Figma напрямую.
Тестируем здесь.

👉Новости 👉Платформа
Post #97 129
😊 Пример(EN,6м) реализации онбординга (рассказ про новые элементы приложения) пользователю на Compose Multiplatform. Решается задача определения положения Compose элемента на экране, затемнение фона и показ подсказки, где есть свободное место на экране
Тык сюда

👉Новости 👉Платформа
Post #96 134
#Собес
🤔 Что такое sealed class в Kotlin?

Sealed class в Kotlin - это класс, который имеет ограниченное количество подтипов, все из которых должны быть определены внутри этого класса. Sealed классы полезны для создания иерархий типов с ограниченным набором вариантов, что позволяет более безопасно и полно обрабатывать все возможные случаи, например, с помощью выражений when .

👉Новости 👉Платформа
Post #95 166
#полезное
👍 Orbit-MVI

Это легковесная библиотека Model-View-Intent (MVI) в приложениях на Kotlin!

🟠 Она предоставляет простой и интуитивный API для управления состоянием и обработки действий пользователя. Основное назначение Orbit — помочь разработчикам создавать масштабируемые, тестируемые и легко поддерживаемые приложения. Библиотека интегрируется с популярными инструментами и архитектурными компонентами, такими как Jetpack Compose, ViewModel, SavedState и RxJava.
Гитхаб

👉Новости 👉Платформа
Post #94 138
#статьи
😊 Koin: Простой и легковесный фреймворк для внедрения зависимостей

Принцип внедрения зависимостей становится все более неотъемлемой частью процесса разработки. Без него сложно представить себе достижение желанного разделения обязанностей в коде или обеспечение должного уровня тестируемости.
Читать статью

👉Новости 👉Платформа
Teletype Koin: Простой и легковесный фреймворк для внедрения зависимостей Принцип внедрения (инжектирования) зависимостей становится все более неотъемлемой частью процесса разработки. Без него сложно...
Post #93 139
#полезное
😊 Krontab
Это библиотека Kotlin, которая позволяет планировать выполнение задач с использованием синтаксиса, похожего на Crontab!

🟠 Она интегрируется с Kotlin Coroutines, обеспечивая эффективное и простое планирование повторяющихся или отложенных задач в приложениях.
🖥 Гитхаб

👉Новости 👉Платформаa
  • 👍 1
Post #92 140
#Собес
🤔 Объясните концепцию расширений функций в Kotlin.

Расширение функций в Kotlin позволяет добавлять новые функции к существующим классам без их изменения. Это достигается путем создания специальных функций, которые могут быть вызваны на экземпляре существующего класса. Такое расширение удобно для добавления полезных методов или для улучшения функциональности классов.

👉Новости 👉Платформа
  • ❤ 1
  • 👍 1
Post #91 144
#новости
😊 TrustedTime API: Introducing a reliable approach to time keeping for your apps

Google выпустил новое API для безопасной работы с временем на устройстве.

TrustedTime использует защищенную инфраструктуру Google для предоставления надежного источника времени и периодически синхронизирует свои часы с серверами Google, которые имеют доступ к высокоточному источнику времени.
Читать статью

👉Новости 👉Платформа
  • ❤ 1
Post #90 135
#полезное
👍 Why Not Compose!

Репозиторий представляет собой сборник коллекций анимаций, композиций и пользовательских интерфейсов с использованием Jetpack Compose.
Гитхаб

👉Новости 👉Платформа
  • 🔥 2
  • ❤ 1
Post #89 148
#полезное
😊 С сеткой на мобилках больше не паримся нашел простой гайд как юзать гриды на экранах смартфонов с iOS и Android.

Все параметры указаны вплоть до пикселя.

Сохраняем себе и подсматриваем во время работы.

👉Новости 👉Платформа
  • ❤ 3
Post #88 120
#Собес
🤔 Что такое data class в Kotlin?

Data class в Kotlin - это специальный тип класса, предназначенный для хранения данных. Он автоматически генерирует стандартные методы, такие как equals(), hashCode() , toString() , и сору() , основываясь на свойствах, определенных в классе. Data class полезен для создания структур, хранящих данные, с минимальными усилиями по написанию дополнительного кода.

👉Новости 👉Платформа
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →