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

На картинке View B находится под углом и на определенном расстоянии от View A

В нашем Telegram чате иногда проскакивает следующий вопрос: Как правильно обновлять данные в списке?

Спрашивающий обычно подразумевает два варианта ответа:
1) Передавать новые данные в адаптер и вызывать метод notifyDataSetChanged, чтобы рефрешнуть RecyclerView
2) Создавать новый адаптер, давать ему новые данные и передавать этот адаптер в RecyclerView.setAdapter()

Оба этих варианта не являются правильными, хотя технически они вполне рабочие.

При использовании какой-либо библиотеки, часто приходится добавлять в dependencies несколько ее частей и всем им прописывать одну и ту же версию. Самый распространенный пример - Android Support Library.

Обычно код в dependencies выглядит так:

    // support library
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support:recyclerview-v7:25.3.1'
    compile 'com.android.support:cardview-v7:25.3.1'

Gradle позволяет избавиться от этой копипасты.

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

В нашем Telegram-чате участники делятся своими проблемами и просят помочь им. Иногда для этого надо видеть код, который не работает. Кидать в чат код как текст - не самый лучший вариант, поэтому его лучше куда-то залить и скинуть в чат ссылку.

Android Studio дает нам такую возможность. 

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

Таким образом, экран пин кода должен поддерживать три режима: создание, проверка и смена пин кода. Реализовав этот экран, я понял, что получился неплохой пример для демонстрации принципов MVP (Model-View-Presenter).

У вас в layout файле есть View с кучей атрибутов. И вы решили, что пора все его атрибуты вынести в отдельный стиль. Чтобы вам не заниматься этим вручную, у Android Studio есть специальный инструмент экспорта атрибутов из layout в style.

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

Лямбда-выражения пришли к нам с Java 8. Подробно о том, что это такое - можно почитать на хабре (https://habrahabr.ru/post/213805/ и https://habrahabr.ru/post/224593/). Также есть хорошая книга на русском (https://www.ozon.ru/context/detail/id/28001133/).

Language

Система Orphus

Социальные сети

 

Telegram канал



Android чат в Telegram



Группа ВКонтакте



Страница в Facebook

Поддержка проекта

Яндекс
410011180491924

WebMoney
R248743991365
Z551306702056

Paypal

Яндекс.Метрика