Android
Локално стартиране на LLM модели на Android смартфон
С какво да стартирате езиков модел на Android: LiteRT-LM, llama.cpp, MediaPipe, MLC LLM и ONNX Runtime GenAI – какво да изберете, как да подготвите модела и Kotlin код, който спира генерирането.
Kotlin 2.0 – основни нововъведения в синтаксиса
Какво се промени в синтаксиса на Kotlin 2.0: context receivers, value classes, sealed interface, деструктуриране във for и pattern matching в when.
Java Core – Основни въпроси
Отговори на въпроси по Java Core: типове данни, колекции и HashMap, генерици, рефлексия, устройство на паметта на JVM и работа на Garbage Collector.
Настройка на потребителски параметри за стартиране на IntelliJ IDEA / Android Studio
Какво прави всеки флаг в Edit Custom VM Options: размери на heap, избор на Garbage Collector, кеш на кода и настройка на паметта в Android Studio.
Кратко ръководство за MapStruct
Практически похвати с MapStruct в Kotlin: маппинг на полета с различни имена, @Named, преизползване на логиката и заобикаляне на типични грешки при компилация.
Логване на работата на Android приложение в txt файлове
Логърът LogUtil за Android: запис на debug и error логове и на мрежовите заявки на OkHttp в отделни txt файлове в папката Документи на телефона.
Динамично генериране на UI в Android приложение с помощта на RecyclerView и AdapterDelegates
Как да изградим динамичен UI с RecyclerView и библиотеката AdapterDelegates: делегати, елементи на списъка за повторно използване и сравнение чрез DiffEquals.
Как да настроите Charles Proxy за емулатора на Android Studio
Стъпка по стъпка настройка на Charles Proxy за емулатора на Android: прокси през adb, сертификат на Charles, network security config за HTTPS на приложението и подмяна на отговори.
Mock на отговорите на сървъра в Android разработката с помощта на Interceptor
Как да подменяме отговорите на сървъра в Android със собствен OkHttp Interceptor: модел MockResponse, map по url и свързване с OkHttpClient.
Android – Компоненти и View
Жизнени цикли на Activity, Fragment, View и Service, устройство на Context, Intent, WorkManager, RecyclerView и разликите между MVP, MVVM, MVC и MVI.
Android Paging 3 и Paging в AdapterDelegates
Пагинация в Android с Paging 3: PagingSource, PagingDataAdapter, адаптер за състоянията на зареждане и свързване с AdapterDelegates.
Android Push Provisioning API
Свързване на Android Push Provisioning API: настройка на tapAndPay SDK, whitelist на приложението, изисквания на Google Pay към UI и предаване на картата чрез OPC.
Как да включите дебъгване през Wi-Fi в Android Studio
Дебъгване на Android приложение през Wi-Fi: класическият начин с adb tcpip и adb connect и безжичното дебъгване на Android 11+ със сдвояване по код или QR.
DexClassLoader, или зареждане на част от приложението от мрежата
Как Android приложение изтегля .dex от сървър и зарежда класове от него чрез DexClassLoader, с какво е ограничено това от Android 14 и защо в Google Play така не бива.
Java / Kotlin Core – Многонишковост
Многонишковост в Java и Kotlin: volatile и synchronized, ReentrantLock, корутини и Channels, оператори на RxJava и стратегии за backpressure.
Kotlin Core – Основни въпроси
Как са устроени корутините и suspend, с какво launch се различава от async, как работят scope functions, делегатите, extension и companion object в Kotlin.
Java / Kotlin Core – Теоретични въпроси
Сложност на операциите с колекции, шаблони за проектиране, SOLID, наследяване срещу композиция и функции от по-висок ред в Java и Kotlin.