Рубрика «разработка приложений» - 10

image
Компонент LiveData — предназначен для хранения объекта и разрешает подписаться на его изменения. Ключевой особенностью является то, что компонент осведомлен о жизненном цикле и позволяет не беспокоится о том на каком этапе сейчас находиться подписчик, в случае уничтожения подписчика, компонент отпишет его от себя. Для того чтоб LiveData учитывала жизненный цикл используется компонент Lifecycle, но также есть возможность использовать без привязки к жизненному циклу.

Сам компонент состоит из классов: LiveData, MutableLiveData, MediatorLiveData, LiveDataReactiveStreams, Transformations и интерфейса: Observer.

Класс LiveData, являет собой абстрактный дженериковый класс и инкапсулирует всю логику работы компонента. Соответственно для создания нашего LiveData холдера, необходимо наследовать этот класс, в качестве типизации указать тип который мы планируем в нем хранить, а также описать логику обновления хранимого объекта.
Читать полностью »

image
Как я уже упоминал в предыдущем материале, компонент Lifecycle призван упростить работу с жизненным циклом, а имено избежать калбеков с Activity/Fragment в наш компонент, который должен реагировать на события жизненого цикла. В этой статье, мы подробно разберем как он устроен и как с ним работать.

Сам компонент состоит из классов: Lifecycle, LifecycleActivity, LifecycleFragment, LifecycleService, ProcessLifecycleOwner, LifecycleRegistry. Интерфейсов: LifecycleOwner, LifecycleObserver, LifecycleRegistryOwner.

Lifecycle — класс, который хранит информацию про состояние жизненного цикла и разрешает другим объектам отслеживать его c помощью реализации LifecycleObserver. Состоит из методов: addObserver(LifecycleObserver), removeObserver(LifecycleObserver) и getCurrentState(). Как понятно из названий для добавления подписчика, удаления и соответственно получения текущего состояния.
Читать полностью »

image

На Google I/O 2017, было представлено набор библиотек под названием Android Architecture Components. В нескольких словах — это ряд вспомогательных библиотек, которые призваны помочь с такими вещами как, проектирование, тестирование и сопровождение приложений. То, что команда разработки Android начала акцентировать внимание на архитектуре не может не радовать, поскольку проблема является действительно актуальной. Ведь изначально не было предоставлено никаких требований или гайдлайнов по проектированию, и разработчику приходилось отталкиваться от своего предыдущего опыта. Что, в свою очередь, вызывало сложности в сопровождении проекта, а также сомнительные решения для специфических для ОС ситуаций. По факту это не первые шаги в этом направлении. Ранее уже Google представил репозиторий android-architecture с примерами применения разных архитектурных концептов. Надеемся, что развитие будет дальше и может на следующем Google I/O мы сможем увидеть полноценный фреймворк.
Читать полностью »

Предыстория

фрустрация и решение

Привет. В начале зимы 2016 года я снова стал одинок. Спустя какое-то время я решил завести себе профиль в Tinder. Всё бы ничего, но постепенно стала накапливаться усталость из-за невозможности нормально печатать на физической клавиатуре. Мне виделось несколько решений этой проблемы:

  • Смириться и продолжать использовать официальное приложение для смартфона
  • Использовать BlueStacks с официальным приложением на Android
  • Использовать существующие клиенты для десктопа (Tinder++)
  • Написать свой

Первый вариант меня не устраивал из-за принципиального превосходства реальной клавиатуры над экранной. Второй вариант не подходил из-за того, что всё-таки это было бы приложение, не оптимизированное под десктоп. Третий вариант был всем хорош кроме дизайна, багов, и малой активности в репозитории. Позже Tinder++ получил письмо от юристов Tinder и проект был и вовсе свёрнут. Таким образом, лично для меня выбор был очевиден.

Читать полностью »

«Программное обеспечение поглощает мир» – знаменитый постулат Марка Андриссена сегодня актуален как никогда. Возглавляют «революцию кода» разработчики – именно десятки тысяч приложений сделали iOS и Android универсальными платформами, на которых, кажется, есть решение для любой задачи. Однако на десятом году, кажется, мобайл начинает поглощать сам себя, и нужно искать новые рынки. Один из таких рынков совершенно неожиданно образовался благодаря нашему правительству.

Рынок приложений для касс: первая конференция CHANGE - 1Читать полностью »

Утечки памяти в Android и способы их локализации - 1

На одном из проектов столкнулась с утечками памяти. Воспользовалась первым правилом разработчиков — загуглила. К моему глубокому разочарованию нашла много статей для программистов и совсем чуточку для тестировщиков. Большинство публикаций датированы 2011-2014 годом.

Ниже информация об утечках памяти, которая пригодится в 2017 году. Расскажу, чем их наличие грозит приложению, и перечислю несколько подходов к локализации.
Читать полностью »

Уже завтра открывается новая WWDC, а пока мы обсуждаем новый смартфон Энди Рубина, успехи инди-игр, архитектуру Android-приложений, искусственный интеллект и распознавание изображений, работу с отзывами и бесконечное ASO.

Дайджест интересных материалов для мобильного разработчика #205 (29 мая-04 июня) - 1Читать полностью »

Привет! Пока наши разработчики трудятся над созданием хардкорных статей, прекрасная QA-инженер Ксюша Севридова sevridova_ksenia написала статью о том, как техническому специалисту готовиться и проводить первые собеседования, оценивать кандидатов и принимать решение о найме.

Далее пойдет текст от лица Ксюши.
Как найти того самого тестировщика - 1

В этой статье я расскажу о том, как в компании Devim проводится собеседование на должность QA-инженера, а также поделюсь некоторыми общими мыслями о данном процессе в целом. Для лучшего понимания постараюсь привести достаточно примеров. Речь пойдет о поиске именно ручного тестировщика.

Данная статья не претендует на какую-либо научную точность и истину в последней инстанции. Я делюсь своим опытом проведения собеседований и изучении некоторого количества источников по этой теме. Ну что ж, поехали!
Читать полностью »

Главные новинки этой недели – конечно с I/O 2017. Kotlin стал официальным языком Android разработки, выпуск Android O, Google превращается в AI-first компанию… Но главное, конечно, скрыто «под капотом» — 100 сессий о самых разных аспектах разработки. А кроме них есть антифрод, азиатские рынки, дизайн и многое другое.

Дайджест интересных материалов для мобильного разработчика #204 (15-21 мая) - 1Читать полностью »

В этой статье мы попытаемся рассказать, как с помощью удаленных и территориально распределенных команд мы наладили процесс выпуска прикладных решений, расширяющих функциональность нашего продукта «1С:ERP Управление предприятием 2».
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js