TGViewer
Channel Public Channel
Android разработка

Android разработка

@android_its

все о Android разработке

@itchannels_telegram - 🔥 лучшие it каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - ml 📚

@pythonlbooks -📚books
Subscribers
4.88K
Photos
470
Videos
26
Links
552
Recent Posts 13 shown
Post #789 505
🚀 JetBrains обновила roadmap Kotlin: главный фокус - Multiplatform, Wasm и удобство разработки

Что сейчас в приоритете:

- довести Kotlin/Wasm до Stable
- ускорить KAPT до уровня Java APT
- улучшить incremental compilation в K2
- сделать новый JVM reflection
- перевести wasm-wasi на WASI Preview 2 и добавить Component Model
- продвинуть Swift Export из Alpha в Beta
- улучшить Xcode integration и Kotlin/Native debugger
- добавить импорт Swift Package Manager пакетов
- развивать Kotlin LSP и поддержку VS Code
- выпустить единый Kotlin Toolchain
- добавить first-class поддержку JPA/Hibernate для Kotlin stdlib types
- стабилизировать kotlinx.serialization, kotlinx.collections.immutable и kotlinx-io
- выпустить Kotlin DataFrame 1.0
- добавить HTTP/3 и gRPC в Ktor

Из уже завершённого: Swift 6.3 support, multi-module compilation для Kotlin/Wasm, Navigation3 для Compose Multiplatform и 18-месячное окно security fixes для stdlib.

Главное направление видно очень чётко: Kotlin всё сильнее двигается в сторону полноценной кроссплатформенной экосистемы — JVM, iOS, WebAssembly и web.

Следующее обновление roadmap запланировано на февраль 2027.

https://kotlinlang.org/docs/roadmap.html
  • 👍 3
Post #788 1.08K
✔️ Как работают SAM-conversions

Single Abstract Method (SAM) интерфейсы — это интерфейсы только с одним абстрактным методом (функциональные интерфейсы). Kotlin поддерживает соглашение SAM — автоматическую конвертацию функций и lambda между Kotlin и Java.

SAM-conversions позволяют использовать Java-интерфейсы с единственным абстрактным методом в Kotlin, как если бы это были функциональные типы. В Kotlin вы можете использовать такие интерфейсы для создания лямбда-выражений без явного определения функционального типа.

При использовании интерфейса с единственным абстрактным методом в качестве функционального интерфейса в Java, вы можете передавать его экземпляры вместо лямбда-выражений. Это тоже возможно в Kotlin, но на самом деле Kotlin предоставляет более простой синтаксис для этого.

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

Пример:


interface OnClickListener {
fun onClick(view: View)
}

class Button {
fun setOnClickListener(listener: OnClickListener) {
// ...
}
}

val button = Button()
button.setOnClickListener { view ->
// обработка нажатия кнопки
}


В этом примере мы определяем интерфейс OnClickListener с единственным абстрактным методом onClick. Затем мы создаем класс Button, который может иметь слушатель, реализующий данный интерфейс. После этого мы создаем экземпляр Button и передаем лямбда-выражение с соответствующей сигнатурой в качестве слушателя. Компилятор автоматически преобразует это лямбда-выражение в экземпляр интерфейса OnClickListener, используя функцию-расширение invoke интерфейса.

#буст #JuniorKit #Kotlin
  • 👍 3
  • 🎉 2
  • ❤ 1
Post #787 851
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

Окружение решает больше, чем кажется.

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

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
  • ❤ 1
  • 👍 1
  • 🔥 1
Post #786 925

Forwarded from Machinelearning

✔️ Апдейт ChatGPT: изолированный контекст в Projects, тесты для проверки знаний и правки для Android

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

Пользователи платных тарифов стали видеть на стартовом экране персональные подсказки, которые собираются из прошлых чатов и истории использования инструментов.

Бесплатным и образовательным аккаунтам добавили генерацию тестов для самопроверки.

В приложении для Android починили сброс фокуса при подключении физической клавиатуры, а кнопка голосового ввода больше не пропадает после того, как прикрепишь файл.


@ai_machinelearning_big_data

#news #ai #ml
  • 👍 2
  • ❤ 1
Post #785 1.29K
💡 Android/Kotlin: не перезапускайте `Flow` после каждого поворота экрана

Частая ошибка в ViewModel:


val uiState = repository.observeData()
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(),
initialValue = UiState.Loading
)


У WhileSubscribed() тайм-аут по умолчанию равен нулю. Когда Activity пересоздаётся при повороте экрана, подписчик исчезает, upstream-поток сразу останавливается, а затем запускается заново.

Это может повторно инициировать запросы, чтение базы или тяжёлые вычисления.

Добавьте небольшой период ожидания:


val uiState = repository.observeData()
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(5_000),
initialValue = UiState.Loading
)


Теперь поток продолжит работать ещё пять секунд после исчезновения последнего подписчика. Этого обычно достаточно, чтобы новая Activity успела подключиться после изменения конфигурации.

В Compose собирайте состояние с учётом жизненного цикла:


val uiState by viewModel.uiState.collectAsStateWithLifecycle()


Получается полезный баланс:

- поворот экрана не перезапускает весь pipeline;
- при реальном уходе со страницы поток остановится;
- ViewModel не тратит ресурсы без активного интерфейса.

5_000 - не магическое значение. Для дорогого подключения его можно увеличить, а для быстрого локального потока - уменьшить.

#Android #Kotlin #StateFlow #JetpackCompose
  • ❤ 2
  • 👍 2
Post #783 1.08K
🔥 JetBrains открыла исходники KotlinLLM - Kotlin-код, который дописывает себя во время выполнения

KotlinLLM - исследовательский плагин для IntelliJ IDEA, который позволяет делегировать часть логики приложения LLM прямо во время запуска.

Пример:


val apiUrl: String = asLlm(
"JetBrains/kotlin",
hint = "Верни URL для GitHub Issues API"
)

val service: GithubService = mockLlm()


Когда приложение сталкивается с новым сценарием, плагин:

1. получает runtime-значения и типы;
2. просит LLM сгенерировать обновление;
3. компилирует новый код;
4. горячо перезагружает класс;
5. повторно выполняет исходный вызов.

Главная идея - модель не вызывается постоянно. Успешное решение сохраняется как обычный Kotlin-файл, который можно проверить, изменить, закоммитить и запускать дальше уже без LLM.

Сейчас доступны два основных механизма:

- asLlm<F, T>() - преобразует значение одного типа в другой;
- mockLlm<T>() - генерирует реализацию интерфейса и развивает её по мере появления новых сценариев.

Пока это исследовательский прототип для Kotlin/JVM. Проект распространяется по лицензии Apache 2.0.

GitHub:
https://github.com/JetBrains-Research/kotlinllm-plugin
  • 👍 4
  • ❤ 3
  • 🔥 2
Post #782 1.18K
Google убрала последний барьер для перехода с iPhone на Android 😐

В Android 17 переезд с iPhone сделали максимально бесшовным: новый смартфон сам подтягивает фотографии, видео, сообщения, контакты, сохранённые сети Wi-Fi и даже eSIM. Без отдельных приложений, без танцев с бубном и без традиционного «что-то точно не перенесётся».

На первый взгляд — просто обновление. На практике — это ломает один из последних якорей, которые держали людей в экосистеме Apple. 

Кто с Pixel или новыми Samsung Z Flip8 / Z Fold8 — уже могут щупать. Остальным — подвезут позже.
  • 🔥 8
  • ❤ 1
Post #777 1.63K

Forwarded from Machinelearning

⚡️ Локальные LLM стали серьёзнее: Bonsai 27B весит меньше 4 ГБ

PrismML взяла модель класса 27B и сжала её через 1-bit quantization: с примерно 54 ГБ до 3.8–3.9 ГБ.

Заявляют, что при таком сжатии модель сохраняет около 90% качества оригинала. Это уже размер, с которым можно думать не только про серверы, но и про ноутбуки, браузер и смартфоны.

Есть и более качественная версия Ternary Bonsai 27B: около 5.9 ГБ и до 95% качества baseline.

Модель поддерживает мультимодальность, reasoning, кодинг, tool calling и агентные сценарии. То есть это не просто локальный чат, а база для локальных AI-агентов.

Для Bonsai уже сделали WebGPU demo: кастомные kernel’ы позволяют запускать модель прямо в браузере. По словам Xenova, часть WebGPU-кода помогали писать Fable 5 и GPT 5.6 Sol.

HF collection: https://huggingface.co/collections/prism-ml/bonsai-27b
WebGPU demo: https://huggingface.co/spaces/webml-community/bonsai-webgpu-kernels

@ai_machinelearning_big_data

#llm #ai #ml
  • 👍 4
  • 🔥 3
  • ❤ 2
Post #775 1.73K
Java и инкапсуляция без магии

Публичные поля выглядят удобно ровно до первого бага.


account.balance = new BigDecimal("-100");


Код скомпилировался, объект изменился, бизнес-правило сломалось.
Никакой проверки, никакого контроля, никакой гарантии, что BankAccount остаётся в корректном состоянии.

Поэтому поле баланса не должно быть частью публичного API. Наружу можно отдать чтение, а изменение проводить через методы, где явно описаны правила:


private BigDecimal balance = BigDecimal.ZERO;

public BigDecimal getBalance() {
return balance;
}

public void withdraw(BigDecimal amount) {
if (amount.signum() <= 0) {
throw new IllegalArgumentException("amount must be positive");
}

if (balance.compareTo(amount) < 0) {
throw new IllegalStateException("insufficient funds");
}

balance = balance.subtract(amount);
}


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

Смысл инкапсуляции в том, чтобы объект сам защищал свои инварианты: баланс не уходит в минус, сумма списания валидна, состояние нельзя сломать прямым присваиванием.

Если значение можно менять только по правилам, это уже не просто структура данных, а нормальная доменная модель.
  • 👍 5
  • ❤ 4
Post #774 1.71K
В библиотеку ANGLE, используемую в Chrome и Android, добавлена поддержка Wayland

Разработчики Chromium реализовали поддержку протокола Wayland библиотеке ANGLE. Библиотека осуществляет трансляцию вызовов OpenGL ES в графические API OpenGL, Direct3D 9/11 и Vulkan, и применяется в Chrome в качестве бэкенда для WebGL, а в Android для реализации OpenGL ES поверх Vulkan. Упоминается, что изменение позволит реализовать поддержку Wayland во фреймворке CEF (Chromium Embedded Framework), предназначенном для встраивания браузерного движка Chromium в приложения. Среди прочего, отсутствие поддержки Wayland в CEF не позволяет реализовать Wayland-версию клиента Steam.

Подробнее:
https://opennet.ru/65541/
https://opennet.me/65541/
  • 👍 3
  • ❤ 1
  • 🔥 1
  • 👏 1
Post #773 1.91K
🖥 Китайский разработчик выложил в открытый доступ целую автомобильную ОС, которая превращает любой Android-смартфон в беспроводной адаптер CarPlay.

Она называется OkcarOS. Это кастомная прошивка Android 13, которая напрямую общается с экраном автомобиля по протоколу CarPlay.

→ Подключение за 4 секунды
→ Видео 60 fps, битрейт 25 Мбит/с
→ Без потерь аудио PCM
→ Разрешение 1:1 с экраном в автомобиле

100% с открытым исходным кодом.

https://github.com/okcar-os/android
  • ❤ 7
  • 👍 4
Post #769 3.03K
Google показала Android 17 - систему, где Gemini встраивают почти в каждый слой

Android 17 выглядит не как обычное обновление с новыми иконками, а как попытка превратить смартфон в полноценного AI-ассистента.

Что обещают внутри:

- ИИ сможет взаимодействовать с приложениями от имени пользователя
- система будет собирать автоматизации под конкретные задачи
- появятся кастомные AI-виджеты
- голосовой ввод научат чистить от пауз, мусора и слов-паразитов
- Gemini Intelligence станет частью повседневных сценариев, а не отдельной кнопкой в приложении

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

Отдельно Google анонсировала Googlebook - премиальные компьютеры под ChromeOS и глубокую интеграцию Gemini Intelligence.

Похоже, Google больше не продаёт просто Android и ChromeOS.

Она собирает экосистему, где ИИ становится стандартным интерфейсом между пользователем, приложениями и устройством.
  • 🔥 11
  • 💩 8
  • 👍 3
  • ❤ 2
Older posts →

About this channel

How can I read @android_its without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Android разработка: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Android разработка have?
Android разработка (@android_its) has 4.88K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Android разработка know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
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 →