Рубрика «android» - 78

Мы рады представить сообществу сервис PushAuth, который позволяет Вашим клиентам авторизироваться с помощью PUSH-сообщений на мобильном устройстве!

PUSH-авторизация в сервисах с помощью мобильного приложения - 1

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

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

VK by design - 1

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

ViewModel — это компонент из набора библиотек под названием Android Architecture Components, которые были представлены на Google I/O 2017. ViewModel — предназначена для хранения и управления данными связанных с представлением, а также с возможностью “пережить” пересоздание активити (например переворот экрана).
На хабре уже была хорошая статья посвящена ViewModel, где можно ознакомится с данной темой более детально.

В данной статье будет рассмотрены варианты инжекта(предоставление) зависимостей в компонент ViewModel с использованием Dagger 2. Проблема заключается в том, что получение ViewModel должно осуществляться специальным образом, что в свою очередь накладывает некоторые ограничения, которые связанные с предоставлением зависимостей в сам класс ViewModel, а также предоставление ViewModel в качестве зависимости. Данная статья также возможно будет интересна тем, кто интересуется практическим применением такой функциональности Dagger, как multibinding.

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

imageПривет тебе! Меня зовут Максим и я работаю в отделе QA компании Trinity Digital. В сфере обеспечения качества я уже более двух лет, люблю мобильные приложения, их сложность и динамичность. В этой статье я попытался сделать относительно небольшой список инструментов, источников информации и скилов, которые тестировщик мобильных приложений всегда должен иметь при себе в нашем 2к17 году.

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

  • Источники информации для максимально успешного тестирования
  • Инструменты для упрощения жизни тестировщика
  • Hint’ы
  • Доставка и анализ приложений
  • Куда расти дальше, если постигли дзен

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

Конкурс для молодых разработчиков AR-приложений Epson Moverio BT-300 - 1

Несколько лет назад (ещё на Хабре) мы проводили конкурс разработчиков Android-приложений для наших видеоочков дополненной реальности Epson Moverio BT-200. По результатам конкурса объявили победителей, вручили призы и написали об этом пост. Приложения участников и победителей, кстати,  все еще красуются на нашем Маркете приложений Moverio Apps Market.

А вот в марте этого года в продажу поступили видеоочки дополненной реальности третьего поколения — Epson Moverio BT-300.

Ввиду того, что еще не у каждого второго такие очки имеются, расскажем о них подробнее, а затем плавно перейдем к, собственно, самому конкурсу, который мы проводим совместно с детскими технопарками «Кванториум».

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

Избавляемся от рутины RecyclerView.Adapter с помощью DataBinding - 1

RecyclerView — основной UI элемент практически любого приложения. Написание адаптеров и ViewHolder'ов зачастую слишком рутинная работа и содержит достаточно boilerplate кода. В этой статье я хочу показать как с использованием DataBinding и паттерна MVVM можно написать абстрактный адаптер и напрочь забыть про ViewHolder'ы, inflate, ручной биндинг и прочую рутину.

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

Всем привет! В прошлый раз мы разобрались с реализацией Subcomponent и случаями использования его на примере отдельно взятого экрана. Здесь будет несколько отсылок к той статье, поэтому лучше сначала ознакомиться с ней.

Сегодня же мы обсудим создание реальной авторизованной зоны приложения и работу с соцсетями. Конечно же не без помощи Dagger’а!

Интересно? Добро пожаловать под кат!

image

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

image
Не так давно везде говорили о проблеме поиска нужной информации в интернете. Сейчас появляется уже другая проблема — найти можно практически всё, что угодно, но что делать дальше? Если информация была нужна для разового использования, то проблемы нет — можно и забыть. А если она полезна не только «здесь и сейчас»? Многие используют онлайновые и офлайновые блокноты, закладки и даже персональные вики… Но лично у меня они все постепенно превращались в «кладбище информации», в которой тоже нужно постоянно что-то искать или постоянно всё организовывать и оптимизировать. Можно ли сохранять информацию, хотя бы в небольших объёмах, сразу в память? В человеческую память?
Сразу оговорюсь, что речь не о каких-то чудо-приёмах и чёрно-белой магии. Речь идёт о комбинации интервального повторения и довольно простых упражнений, реализованных в виде несложной программки для смартфона.

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

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

Итак, начнем.

Butterknife

Библиотека была разработана компанией Square и сразу же прижилась у разработчиков. ButterKnife был создан на замену findViewById для того чтобы уменьшить и без того раздутые activity:

View someView = (View) findViewById(R.id.someView)

Вы только посмотрите какая длинная строка! А если это поле класса — то это целых две строки:

View someView; //Первая строка
...
@Override 
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        someView = (View) findViewById(R.id.someView); //Вторая строка
}

А теперь перейдем к ButterKnife. Вот простой пример кода с ButterKnife:

    @BindView(R.id.someView1) View view1;
    @BindView(R.id.someView2) View view2;
    @BindView(R.id.someView3) View view3;
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this); //Важная строка
    }

Все очень просто: с помощью аннотации @BindView мы говорим какая вьюха нам нужна, и потом главное не забыть про ButterKnife.bind(this);(Так делать нужно в активити, для других мест вроде holder или fragment это делают немного по-другому. Смотрите здесь.

Как добавить к проекту?
Читать полностью »

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

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

Модуль dagger-android позволяет заинжектить зависимости в следующие базовые компоненты андроида:

Activity, Fragment, Service, DaggerIntentService, BroadcastReceiver, ContentProvider.

Если мы используем классы из библиотеки поддержки (например AppCompatActivity, android.support.v4.app.Fragment), то нам надо использовать соответствующие классы из дополнительной даггер библиотеки поддержки (dagger-android-support).

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


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