Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

Реализация списка использованных библиотек в Android приложении. Попытка №2

Время на прочтение 2 мин
Количество просмотров 8.1K
Совсем недавно наткнулся на статью на Хабре о том, как реализовать диалоговое окно со списком использованных библиотек. Мне предложенный вариант показался слишком сложным, да и сам список смотрелся криво. В связи с этим я решил поделиться более простым и элегантным способом реализации данного функционала.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 4

Маршруты на картах Google в Android-приложении — некоторые уточнения

Время на прочтение 7 мин
Количество просмотров 14K
Поскольку я являюсь начинающим разработчиком в данной области, то на первом этапе пользуюсь готовыми идеями, чтобы понять суть решения типовых задач. В данный момент мне стало необходимо проложить схематический маршрут между двумя точками на картах Google. Самым интересным аналогом для решения поставленной задачи, обнаруженным в сети Интернет, оказался следующий: "Маршруты на картах Google в Android-приложении". Однако, при его дальнейшем рассмотрении и реализации появились некоторые подводные камни, о которых я и хочу рассказать.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 0

Использование шаблона MVVM (Model-View-ViewModel) в Android

Время на прочтение 18 мин
Количество просмотров 83K


Автор: Антон Валюх, Senior Mobile Developer.

В этой статье поговорим о теории и практике использования очень удобного шаблона проектирования MVVM (Model-View-ViewModel) при разработке Android-приложений.

MVP — Model-View-Presenter

Для начала — немного теории. Всё началось с того, что многие думали, как приспособить шаблон MVC (Model-View-Controller) для написания приложений с интерфейсом пользователя. И в 2006 г. в работе “GUI Architectures” Мартин Фаулер подробно рассмотрел шаблон, который впоследствии получил название “MVP” (“Model-View-Presenter”).

Итак, MVP — шаблон проектирования, производный от MVC, разработанный в основном для построения пользовательского интерфейса. MVP используется для облегчения автоматического модульного тестирования и улучшения разделения логики и отображения.

В этом шаблоне есть три элемента:
  1. View.
  2. Presenter.
  3. Model (модель).

Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 6

Публикация Android библиотеки в jCenter

Время на прочтение 8 мин
Количество просмотров 19K


В жизни каждого андроид разработчика настаёт момент, когда количество самописных утилит и хелперов, качующих из проекта в проект, переваливает за десяток. В этом случае хорошей практикой будет оформление подобных хелперов в виде самостоятельных «модулей» в терминах Android Studio. Еще лучше, если Вы собираетесь поделиться Вашими наработками с комьюнити, снабдив исходный код подходящей лицензией. Но просто залить исходники на GitHub в этом случае будет недостаточно – хочется, чтобы любой желающий мог подключить библиотеку с помощью однострочной Gradle зависимости, например такой:

dependencies {
   compile 'com.github.romangromov:simpleprefs:0.0.8'
}

О том, как этого добиться и пойдет речь в данной статье.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 5

Material Design. Динамический Toolbar на живом примере

Время на прочтение 6 мин
Количество просмотров 151K
Уверен, что те, кто следят за изменениями в мире Android, заметили, что Toolbar начинает играть в приложениях всё более значимую роль. Например в последней версии Gmail клиента в Toolbar вынесен почти весь функционал по работе с почтой, а в новом Google Chrome Toolbar отвечает за работу с текстом страниц.

В данной статье я постараюсь рассказать о создании динамического Toolbar, который позволит пользователю работать с контентом четырьмя различными способами в рамках одного Activity. Мы рассмотрим весь процесс разработки Toolbar-a начиная с xml файлов стилей и заканчивая анимацией иконок, а в конце статьи я оставлю ссылку на GitHub репозиторий с примером полностью рабочего приложения.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 4

Обзор Razer Ouroboros и Blackwidow. Или как я клавиатуру с мышкой менял

Время на прочтение 7 мин
Количество просмотров 93K
Прошла уже более трёх лет с того момента, как я начал пользоваться игровой мышкой Naga (спасибо Boomburum за неё) и обычной беспроводной клавиатурой Logitech. Но всё имеет свойство ломаться, как это ни печально. Мышь начала глючить, у неё перестала щёлкать одна кнопка, а у клавиатуры и вовсе начали отваливаться клавиши. И я снова решил взглянуть на рынок компьютерной периферии. Остановился для начала на Razer, т.к. мышка всё же прожила 3 года, а до этого обычно они у меня разваливались за год. Да и зелёный цвет в подсветках клавиатур меня всегда привлекал.


Читать дальше →
Всего голосов 68: ↑46 и ↓22 +24
Комментарии 85

Свет и цвет: основы основ

Время на прочтение 10 мин
Количество просмотров 391K
Piccy.info - Free Image Hosting
Мы часто говорим о таком понятии как свет, источниках освещения, цвете изображений и объектов, но не совсем хорошо себе представляем, что такое свет и что такое цвет. Пора разобраться с этими вопросами и перейти от представления к понимаю.
Читать дальше →
Всего голосов 86: ↑62 и ↓24 +38
Комментарии 59

Нейросеть на практике: Задача коммивояжера

Время на прочтение 5 мин
Количество просмотров 47K
Добрый день, уважаемые хабропользователи.
Хотел бы поделиться практическим применением одного из алгоритмов нейродинамики, в продолжении моего поста Моделирование нейросети Машина Больцмана.
Реализация на примере решения задачи коммивояжера.
Немного напомню в чем ее суть.
image

Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 7

Google Play — работаем легально!

Время на прочтение 4 мин
Количество просмотров 179K
Привет, Хабр!



Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
Читать дальше →
Всего голосов 92: ↑88 и ↓4 +84
Комментарии 115

Универсальная и дешёвая механическая рука от iRobot

Время на прочтение 1 мин
Количество просмотров 54K


В рамках программы Autonomous Robotic Manipulation (ARM) от научно-исследовательского агентства DARPA компания iRobot при помощи учёных из Гарварда и Йеля сконструировала универсальную механическую руку с тремя «пальцами». Точность движений руки настолько высока, что она может даже вставить ключ в замок и повернуть его, а потом открыть дверь.
Читать дальше →
Всего голосов 37: ↑31 и ↓6 +25
Комментарии 32

Sony показала гибкие E-Ink панели, на которых можно писать как на бумаге

Время на прочтение 1 мин
Количество просмотров 78K
Японцы показали в действительно интересное устройство, отличающееся от большинства аналогов своими физическими характеристиками — гибкая панель на электронных чернилах, писать на которой можно специальным стилусом почти как на бумаге.

Показанный прототип будущего устройства имеет размеры, аналогичные формату А4 (т.е. 210x297 мм), весит 358 грамм и имеет толщину в 6.8 мм; разрешение дисплея при этом составляет 1200x1600 пикселей. В основе технологии — фирменная технология гибкой электронной бумаги Sony, что достигается установкой экрана не в стеклянные панели, а в гибкий прозрачный пластик, что автоматически удаляет еще один недостаток обычных планшетов — хрупкость дисплея.

Но — самое главное — при помощи специального стилуса на устройстве можно писать также, как пишут на обычной бумаге обыкновенной ручкой (в смысле образа действий, конечно); разрешение экрана позволяет видеть написанное вполне чётко, оценить можно на видео под катом. Ложные срабатывания девайс отсеивает по простому принципу — если к экрану касаются подушечкой нижней части ладони, то устройство считает, что надо обрабатывать только касания стилуса. В противном случае, все достоинства тач-экрана, конечно, сохраняются. С автономностью устройства тоже все нормально — указывается, что батарея способна поддерживать его работу в течении трёх недель.

Sony планирует коммерческий релиз своей разработки в течение этого года. Относительно цены пока ничего определенного не известно, но можно довольно смело заметить, что граница удобства использования электронной бумаги действительно достигнута. Взглянуть на то, как устройство работает — процесс написания показан крупным планом — можно на видео под катом.

Посмотреть видео
Всего голосов 49: ↑47 и ↓2 +45
Комментарии 63

Афтепати Google I/O обслуживает робот-бармен (немного фото+видео)

Время на прочтение 1 мин
Количество просмотров 51K


Да, на Хабре уже пару раз публиковались новости о роботах-барменах, которые отлично выполняют свою работу. Надо думать, что через некоторое время подобные устройства появятся в обычных барах и ресторанах (возможно, в качестве помощника для бармена-человека). Ну, а пока роботы-бармены обслуживают посетителей технологических выставок и пресс-конференций. На афтепати Google I/O участников события развлекал и поил Makr Shakr, интерактивный робот-бармен.

Читать дальше →
Всего голосов 41: ↑33 и ↓8 +25
Комментарии 17

Вкратце о лицензиях Open Source

Время на прочтение 6 мин
Количество просмотров 11K
Многие разработчики и дизайнеры хотят опубликовать свои работы в виде открытых проектов. Они хотят иметь возможность делиться своим кодом. Сообщество open-source с каждым днём всё прочнее стоит на ногах. Открытые программы существуют для любых видов задач, каких вы только можете себе вообразить. А многие веб-разработчики используют свободное ПО как фундамент для своей работы (WordPress, Drupal и многие другие CMS открыты, свободны и бесплатны).

Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.
Читать дальше →
Всего голосов 46: ↑44 и ↓2 +42
Комментарии 17

Анимация элементов ListView в Android

Время на прочтение 5 мин
Количество просмотров 27K
Доброго дня суток, хабражители.

Сегодня я хочу поделиться с вами секретами анимации элементов списка ListView в Android.
Читать дальше →
Всего голосов 20: ↑12 и ↓8 +4
Комментарии 4

Программирование на Android для web разработчика или быстрый старт для самых маленьких. Часть 2

Время на прочтение 2 мин
Количество просмотров 51K
Приветствую!

Статья является продолжением начатой мной части 1.

Предостережение


Важно: данный урок не является профессиональным. Автор урока не является специалистом в программировании для платформы Android. Я заранее приношу свои извинения, за неоправданные ожидания.

RegistrationActivity


В Activity для регистрации нужно проделать следующее:
Читать дальше →
Всего голосов 60: ↑44 и ↓16 +28
Комментарии 17

91% самых инновационных продуктов в 1977-2004 гг не были запатентованы

Время на прочтение 2 мин
Количество просмотров 30K
Хорошо известно, что авторы новых изобретений не всегда патентуют их. Но оставался вопрос: сколько конкретно новых изобретений действительно патентуются, а сколько — нет. Группа исследователей из Школы экономики и менеджмента при Техническом университете Лиссабона опубликовала первое в своём роде исследование на эту тему.

Основным источником информации для исследования стали списки R&D 100 Awards, ежегодно составляемые научным журналом “Research and Development”. Это список самых лучших новых технических продуктов, которые появились в продаже или стали доступны для лицензирования за предыдущий год. Авторы исследования провели большую работу, сверив каждое наименование из этого списка с базой патентного ведомства США.
Читать дальше →
Всего голосов 47: ↑44 и ↓3 +41
Комментарии 10

Виртуальные функции и деструктор

Время на прочтение 6 мин
Количество просмотров 167K
Когда-то давным давно я собирался и даже обещал написать про механизм виртуальных функций относительно деструкторов. Теперь у меня наконец появилось свободное время и я решил воплотить эту затею в жизнь. На самом деле эта мини-статья служит «прологом» к моей следующей статье. Но я постарался изложить доходчиво и понятно основные моменты по текущей теме. Если вы чувствуете, что еще недостаточно разобрались в механизме виртуальных вызовов, то, возможно, вам следует для начала прочитать мою предыдущую статью.

Сразу же, как обычно, оговорюсь, что: 1) статья моя не претендует на полноту изложения материала; 2) мегапрограммеры ничего нового здесь не узнают; 3) материал не новый и давно описан во многих книгах, но если явно об этом не прочитать и самому специально не задумываться, то можно о некоторых моментах даже не подозревать (до поры, до времени). Также прошу прощения за надуманные примеры :)

Все-таки интересно?
Всего голосов 48: ↑40 и ↓8 +32
Комментарии 66

C++ MythBusters. Миф о виртуальных функциях

Время на прочтение 9 мин
Количество просмотров 80K
Здравствуйте.

В прошлой статье я рассказывал, с какой не всем известной особенностью можно столкнуться при работе с подставляемыми функциями. Статья породила как несколько существенных замечаний, так и многостраничные споры (и даже холивары), начавшиеся с того, что inline-функции вообще лучше не использовать, и перешедшие в стандартную тему C vs. C++ vs. Java vs. C# vs. PHP vs. Haskell vs. …

Сегодня пришла очередь виртуальных функций.
Читать дальше
Всего голосов 55: ↑49 и ↓6 +43
Комментарии 109

C++ MythBusters. Миф о подставляемых функциях

Время на прочтение 5 мин
Количество просмотров 37K
Здравствуйте.

Благодаря вот этому голосованию выяснилось, что на Хабре не хватает статей по такому мощному, но всё менее используемому языку C++. Профессионалам высокого уровня, гуру, магам и волшебникам языка C++, а также тем, кто уже успел оставить этот язык «позади» можно дальше не читать. Сегодня я хочу начать цикл статей, призванных помочь именно новичкам, относительно недавно начавшим изучать этот язык, либо же тем, кто (упаси Боже) читает мало книг, а пытается познавать всё исключительно на практике.

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

Читать дальше
Всего голосов 66: ↑61 и ↓5 +56
Комментарии 165

Smart pointers для начинающих

Время на прочтение 6 мин
Количество просмотров 201K
Эта небольшая статья в первую очередь предназначена для начинающих C++ программистов, которые либо слышали об умных указателях, но боялись их применять, либо они устали следить за new-delete.
Читать дальше →
Всего голосов 74: ↑67 и ↓7 +60
Комментарии 44

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность