Пример реализации работы с NFC в Android

Привет! У нас тут возникла задачка на работе, о решении которой я хотел бы с вами поделиться :-)

В общем, у нас есть внутрикорпоративное приложение с 3 кнопками (пришел, ушел на обед, ушел домой), которое внутри нашей электронной системы отмечает нас. Его написал мой напарник. Моя задача состояла в том, чтобы облегчить жизнь людям и запилить работу этого приложения с NFC-меткой.

Читать далее Пример реализации работы с NFC в Android

Убираем скролл в RecyclerView

RecyclerView — это новый тип View, появившийся в Android L. Вкратце, фича этой вьюшки, в отличие от ListView, в том, что мы используем для отображения только то количество View-шек, которое нам необходимо, и потом переиспользуем при скроллинге, а не забиваем адаптером весь список.

http://developer.android.com/intl/ru/reference/android/support/v7/widget/RecyclerView.html

Бывает такая ситуация, при которой нам нужно отключить скроллинг в RecyclerView, но, в отличие от того же ListView, сделать это труднее.

Самым простым способом будет просто переопределить dispatchTouchEvent и ловить MotionEvent.ACTION_MOVE.

Пара полезных Android-библиотек

Привет! Сегодня хочу написать о двух полезных библиотеках под Android.

  • ButterKnife. Очень хороший инструмент, позволяющий не городить кучу кода для биндинга объектов, назначения listener’ов и прочей ежедневно создаваемой нечисти. Хорошо помогает в больших проектах.

http://jakewharton.github.io/butterknife/

  • EventBus. Библиотека которая здорово поможет если не охота пилить кучу одних и тех же листенеров. Работает на Subscrib’ах для event’ов.

http://codingjunkie.net/guava-eventbus/

JavaSE и OS X

Привет!

Хочу немного рассказать про взаимоотношения JavaSE и OS X. Это немного провал.

Сперва дам ссылку на официальный Java Development Guide for Mac. Его стоит сперва читать, если кому-то вдруг вздумается (как мне) писать какое-либо Java-приложение, которое планируется запускать на Mac’ах.

Так что просто перечислю яркие места, где можно зафейлить.

  • Надо использовать Swing, а не AWT, как могло бы показаться. То бишь, конечно, первая мысль “но AWT нативен, и OS X должна сразу годно им отрисовывать!”. Нет. Фейл заключается в том, что там хитро устроены многие вещи, от event’ов с мышью и заканчивая иным минимальным размером окна.
  • Swing прекрасно работает с Aqua. Поэтому если хочется использовать true OS X GUI, то нужно использовать Swing. Посмотрите, даже табы и те выглядят прекрасно 
  • Еще важное замечание. Если вы не упаковываете свою программу в .app контейнер, то в верхней строке на экране, где ещё меню можно заметить, что title у вашей программы будет названием класса, а не тем какой вы например, установите в конструкторе.

В общем, Java под OS X тот еще геморрой, а при разработке лучше всего руководствоваться их официальным гайдом. :)

Немного Java, погоды и xml

Привет!

Давайте я сегодня вам покажу как легко и просто можно достать данные о погоде для своего приложения на Java.

Я остановился на worldweatheronline.com API. Он отдает данные в XML, причем эти данные даже в бесплатной версии довольно подробны.

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

Для парсинга будем использовать SAXParser

Для хранения данных сделаем класс, куда собственно парсер будет это закидывать

Собственно, всё! :)

О том, как это дело я попытался немного приспособить под AWT и какие баги фичи доселе для себя неизвестные я при этом открыл – в следующем посте :)