Обновить
256K+

Android *

Пишем под самую популярную мобильную ОС

126,08
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Создаем federated plugin для Flutter-проекта

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели3.7K

Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье я рассказываю о том, как создать federated plugin для Flutter-проектов.

В мае 2022 года на Google I/O был представлен урок по созданию federated plugin в Flutter. Federated plugin — это способ разделения функционала в рамках одного плагина на разные платформы. Он позволяет сегрегировать функционал на зоны ответственности для каждой из платформ. 

К примеру, если мы создаем плагин для работы с bluetooth, тогда нужно будет создавать пакеты отдельно для каждой платформы, то есть: flutter_bluetooth (как пакет flutter), flutter_bluetooth_android, flutter_bluetooth_ios и flutter_bluetooth_platform_interface (интерфейс для работы с платформами). 

Создавая federated plugins для всех платформ, разработчики могут использовать только те из них, которые необходимы. 

Читать далее

Мобильная разработка за неделю #519 (11 — 17 декабря)

Время на прочтение4 мин
Охват и читатели4.7K
В новом выпуске усложнение iOS и избавление от рекурсии в Kotlin, cимволизация логов и новые фичи на старых Android, многомодульность на Flutter, опыт прохождения собеседования в Google, как много языков может влезть в одного программиста и многое другое!

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

ThrowInDB — Разбираю домашний хлам или сам себе склад

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели6K

Как-то забирал еду в сбермаркете сам и обратил внимание как они
раскладывают продукты. А у меня дома даже когда порядок, все равно
ничего не найдешь. Например, в том же ящике (так как через полгода я
просто не помню, что там), когда потерял какой-нибудь провод и мне
просто приходится вещь ящик целиком высыпать, а потом оказывается, что
там этого кабеля и не было, или был он в другом месте.
Поэтому сделал для себя приложение, может кому тоже пригодится

PlayStore: https://play.google.com/store/apps/details?id=me.hda.throwindb

RuStore: https://apps.rustore.ru/app/me.hda.throwindb

Если кратко, создаешь запись, добавляешь описание с фото и видео, получаешь QR, скидываешь себе в телегу, печатаешь и наклеиваешь на коробку или полку. А потом qr сканируешь, и просто узнаешь, что лежит в этой полке со своего старого видео.

Читать далее

Погружение в Smali. До и После. Decompile-Change-Build

Время на прочтение6 мин
Охват и читатели20K

В этой статье я позволю себе немного отклониться от темы, непосредственно касающейся Smali. Сегодня немного о том, откуда приходит Smali и куда возвращается. Поговорим о разборке и сборке файлов APK.
Статья предназначена для людей, которые знают основы разработки приложений под OS Android. Кто считает себя "речным котиком" и "морским мурзиком" в этом деле может спокойно пропустить эту статью мимо глаз.

Читать далее

Detekt: как статический анализ помогает улучшить код автотестов

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.5K

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

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

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

Меня зовут Николай, и я инженер в мобильной платформенной команде Яндекс Еды. В этой статье я расскажу, как мы повышаем качество кода автотестов Android-приложения. И в этом нам помогает статический анализ.

Читать далее

Kotlin под капотом: как избавиться от рекурсии

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели10K

Различные способы оптимизации рекурсии и какой эффект они дают в плане производительности. Является ли рекурсия абсолютным злом и всегда ли нужно ее оптимизировать.

Читать далее

Когда официальные гайды не такие и полезные или WebSocket на ktor

Время на прочтение4 мин
Охват и читатели5.5K

Привет! Меня зовут Константин и я лид мобильной команды в финтех компании PeterPartner.

В этой статье расскажу о том как мы добавляли поддержку одностороннего сокета в наше мобильное приложение на Kotlin Multiplatform с использованием ktor

Читать далее

Мобильная разработка за неделю #518 (4 — 10 декабря)

Время на прочтение5 мин
Охват и читатели2.4K
В нашем новом дайджесте устройство протокола iMessage и новое приложение Beeper Mini (которое уже не работает), бесплатный Xcode Cloud, новый ИИ от Google в Android, создание простого калькулятора, интернационализация от i до n, конец плоского дизайна и многое другое.

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Переход на Gradle 8 Android проекта

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели8.8K

Всем привет, меня зовут Карамышев Саша и я Android разработчик. Занимаюсь проектом связанным со страхованием.

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

И конечно документация мне не помогла.

Рассказываю, где документация меня запутывала и как я выпутался

Читать далее

Создание простого калькулятора в android studio

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели40K

В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio.

Читать далее

Механизм экспорта растровых изображений в Figma: как изменяется качество изображения

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.7K

Механизм экспорта растровых изображений с масштабированием в Figma полезен для разработчиков Android и iOS. Это связано с разной плотностью пикселей на экранах мобильных устройств. Для максимального использования возможностей устройств рекомендуется экспортировать изображения под конкретную плотность пикселей.

Android-разработчики при экспорте из Figma используют масштабирование x1, x1.5, x2, x3 и x4. iOS-разработчики предпочитают x1, x2 и x3.

Читать далее

Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели3.4K

Android-разработчик RuStore Анатолий Гусев расскажет, как приготовить систему «холодных» конфигов для большого Android-приложения, построенного на многомодульной архитектуре. Под «холодными» конфигами здесь подразумеваются настройки приложения, которые нужно делать локально на девайсе без необходимости загружать их из сети.

Читать далее

Мобильная разработка за неделю #517 (27 ноября — 3 декабря)

Время на прочтение5 мин
Охват и читатели3.2K
В новом дайджесте создание самолетного радара для любимой дочки, Kotlin под капотом, утечки памяти, визуальная иерархия элементов, лучшие приложения года для iOS и Android, руководство по монетизации и многое другое!

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

Ближайшие события

Видео-сообщение как в Telegram. Часть вторая — Оптимизация

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели3K

Часто ли вы пользуетесь Telegram?
Если да, то скорее всего вы хотя бы раз отправляли "кружочки". В этой серии статьей мы напишем небольшой проект с отображением списка видео-сообщений.
Для отображения будем использовать ExoPlayer, настроим сохранение видео в кеш, а также напишем свой TimeBar для управления видео.

Читать далее

Видео-сообщение как в Telegram. Часть первая — Список видео

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.5K

Часто ли вы пользуетесь Telegram?
Если да, то скорее всего вы хотя бы раз отправляли "кружочки". В этой серии статьей мы напишем небольшой проект с отображением списка видео-сообщений.
Для отображения будем использовать ExoPlayer, настроим сохранение видео в кеш, а также напишем свой TimeBar для управления видео.

Читать далее

Как сделать приложение для Android с бесконечной лентой видео на базе EdgeStreaming

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели2.9K

Формат коротких видео завоевал мир несколько лет назад, с бумом популярности TikTok. И до сих пор остаётся популярным. Множество медиаплощадок пошли по пути китайской соцсети и начали запускать свои Shorts, Reals и т.п. Форматы могут называться по-разному, но суть у всех одна — это лента из коротких видео, которые автоматически воспроизводятся при прокрутке. У этого даже есть свой технический термин — плавная прокрутка (Smooth scrolling).

Мы продолжаем наш цикл статей про разработку стриминговых приложений для Android. Я уже рассказывал вам, как сделать сервисы для воспроизведения готовых видео, мобильного онлайн-стриминга, как реализовать приостановку трансляций в мобильном стриминге. А сегодня расскажу, как сделать «убийцу тиктока» — приложение с плавной прокруткой видео. Разработать его несложно, но есть свои нюансы, которые нужно учесть.

В чём сложность создания приложения с плавной прокруткой?

Чтобы добиться моментального воспроизведения видео при скролле, нужно предварительно кешировать его начало, ещё до того, как пользователь к нему перейдёт. Плеер в свою очередь должен обнаруживать, что начало видео уже существует в кеше, и начать воспроизводить его оттуда. А когда кешированный фрагмент закончится, плеер должен плавно переключиться на использование сетевого источника.

Если для раздачи видео мы используем стриминговую платформу EdgeЦентр, видеопоток устройствам-клиентам отдаётся по протоколу HLS с адаптивным битрейтом — это позволяет доставлять контент максимально быстро даже в условиях плохого интернета, так как за счёт адаптивного битрейта качество видео подстраивается под скорость соединения.

Читать далее

SberPay: как добавить поддержку бесконтактной оплаты в Android-приложение

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели3.9K

Хотите добавить в своё Android-приложение функцию бесконтактной оплаты, но не знаете, как это сделать? Тогда эта статья для вас! Заодно обсудим особенности реализации. В конце будет ссылка на репозиторий с примером.

Читать далее

Первый месяц жизни приложения BookDesk или как меня пытались взломать

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3.7K

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

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

Читать далее

Списки с душой и стилем: Ваш путь к Jetpack Compose

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели19K

С каждым днём всё больше и больше разработчиков присоединяются к использованию Jetpack Compose. Этот рост связан с тем, что фреймворк предлагает ускоренную и упрощённую разработку пользовательского интерфейса (UI).

Если ранее вы разрабатывали приложения с использованием Android View, то переход на Jetpack Compose будет естественным шагом. В этой статье мы сфокусируемся на работе со списками в Jetpack Compose, так как списки являются неотъемлемой частью большинства приложений.

Читать далее

Android. Принять себя или Cookie?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели14K

Печенья, кеки, кукисы, ку-ку, кексы… нет, куки!

– Cookie — это что? 

– Почему их не нужно принимать?

– Безопасно ли это?

– CookieJar, CookieManager, CookieStore… WebView?

А также истории про то, как жить с cookie в большом приложении, и сколько эмоций вы испытаете, если в вашем приложении есть WebView.

Читать далее