-
Про Android TV.
Небольшая предыстория. Так получилось, что мы пишем приложение для Android TV. Вообще, обычно я занимаюсь тем, что в программисткой среде принято называть “суровым энтерпрайзом” — веб-службы, высокая нагрузка и прочие Java EE штуки. Тем не менее, иногда мы делаем проекты и под мобильные платформы. Как правило это заказная разработка, например мобильные приложения для внутренних нужд…
-
FWD: Just Say mNo to Hungarian Notation!
Не могу пройти мимо призыва Джейка Вартона – “Скажи mNo венгерской нотации!“. Во-первых (и это мое личное мнение), использовать такую нотацию в исходниках на Java действительно нелепо. Во-вторых, когда-то давно я grep-ом проходил исходники андроида (кажется 16-ый API Level) и там нотация не соблюдалась. Более того она была некорректной (статические поля с m-префиксом). Вартон молодец,…
-
Заметка об экспериментах со SnappyDB (NoSQL KeyValue DB под Android)
Небольшая заметка про SnappyDB. Это NoSQL база данных под Android, которая базируется на LevelDB и алгоритме сжатия Snappy. LevelDB – это key-value база данных. Написана Google-ом для каких-то своих мега проектов. Snappy – метод сжатия данных, сбалансированный на скорость (т.е. приоритет быстрота, а не степень сжатия). Также написана Google-ом. Авторы SnappyDB на своем блоге приводят…
-
Про Gradle для любопытных.
Предыстория. Вот раньше был Ant. Простой и понятный инструмент для сборки проектов. Открываешь xml-ку и видишь: здесь мы хотим скомпилировать файлы, здесь скопировать всё в папку dist, а здесь сделать jar-ик. Потом придумали Maven. Это была небольшая революция. Искать и подключать популярные библиотеки стало намного проще. Все стали использовать приблизительно одинаковую структуру проектов (исходники хранились…
-
Duke, Coworking, Widget.
За последнее время прошло несколько важных событий, о которых давно хотел написать. Про одну новость я уже просто не имею права писать с ещё большей задержкой и опозданием… Итак, во-первых, самое главное событие о котором я узнал в сентябре — команда российских программистов получила Duke Award 2013 в Сан-Франциско! Ребята занимаются разработкой симулятора для Java…
-
Липкий запуск сервисов в Android-e.
В Android API есть такой абстрактный класс как Service. Он является наследником ContextWrapper-а, который в свою очередь является наследником Context-a. При некоторых допущениях можно относиться к сервисам как к “активити без UI” (хотя это не совсем правильно в деталях). Использовать сервис рекомендуется для задач не требующих прямого вмешательства пользователя. В документации особо акцентируется внимание на…
-
Андроидная венгерско-верблюжья нотация
Для разработчиков OC Android, как и для других серьёзных программистов, существует соглашение по оформлению кода. В целом оно совпадает с соглашением в обычной Java. Как именно нужно оформлять, можно прочитать на официальной странице для Android разработчиков. Привожу краткую справку по наименованию полей класса: НЕ паблики и НЕ статики должны начинаться с “m” (анг: Non-public, non-static…
-
Тренды программистских вакансий на indeed.com
Пару дней назад прочитал интересную статью на dzone.com с занятными графиками, которые показывали количество вакансий для программистов. В статье были опубликованы данные с сайтов: indeed.com и simplyhired.com Оба сайта имеют русскоязычный интерфейс, поэтому надеюсь, что приведенные графики отображали не только данные по США (как часто бывает), а мировые тренды. Хотя может быть это и не…
-
Density independent pixel (dp) в Android
Вопрос про единицу измерения длины “dp” постоянно появляется на различных форумах и сайтах посвященных разработке приложений под ОС Android. В большинстве случаев, в качестве ответа более опытные программисты приводят цитату с официального сайта: Density-independent pixel (dp) A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in…
-
Android. Диаграмма классов: Context,Activity, Service
Нарисованная “крупными мазками” UML диаграмма классов для наследников Context-а (из Android API) выглядит следующим образом: Важно! На этой диаграмме отображены только некоторые классы, которые являются (is) Context-ом. Методы также приведены в сокращенном количестве, чтобы упростить восприятие картины в целом. Сразу хочу заметить, что я не являюсь апологетом андроидного пути в архитектуре и дизайне, но поскольку…