Совсем недавно наткнулся на статью на Хабре о том, как реализовать диалоговое окно со списком использованных библиотек. Мне предложенный вариант показался слишком сложным, да и сам список смотрелся криво. В связи с этим я решил поделиться более простым и элегантным способом реализации данного функционала.
Пользователь
Маршруты на картах Google в Android-приложении — некоторые уточнения
7 мин
14KПоскольку я являюсь начинающим разработчиком в данной области, то на первом этапе пользуюсь готовыми идеями, чтобы понять суть решения типовых задач. В данный момент мне стало необходимо проложить схематический маршрут между двумя точками на картах Google. Самым интересным аналогом для решения поставленной задачи, обнаруженным в сети Интернет, оказался следующий: "Маршруты на картах Google в Android-приложении". Однако, при его дальнейшем рассмотрении и реализации появились некоторые подводные камни, о которых я и хочу рассказать.
+8
Использование шаблона MVVM (Model-View-ViewModel) в Android
18 мин
86KАвтор: Антон Валюх, 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 используется для облегчения автоматического модульного тестирования и улучшения разделения логики и отображения.
В этом шаблоне есть три элемента:
- View.
- Presenter.
- Model (модель).
+13
Публикация Android библиотеки в jCenter
8 мин
19KВ жизни каждого андроид разработчика настаёт момент, когда количество самописных утилит и хелперов, качующих из проекта в проект, переваливает за десяток. В этом случае хорошей практикой будет оформление подобных хелперов в виде самостоятельных «модулей» в терминах Android Studio. Еще лучше, если Вы собираетесь поделиться Вашими наработками с комьюнити, снабдив исходный код подходящей лицензией. Но просто залить исходники на GitHub в этом случае будет недостаточно – хочется, чтобы любой желающий мог подключить библиотеку с помощью однострочной Gradle зависимости, например такой:
dependencies {
compile 'com.github.romangromov:simpleprefs:0.0.8'
}
О том, как этого добиться и пойдет речь в данной статье.
+15
Material Design. Динамический Toolbar на живом примере
6 мин
152KУверен, что те, кто следят за изменениями в мире Android, заметили, что Toolbar начинает играть в приложениях всё более значимую роль. Например в последней версии Gmail клиента в Toolbar вынесен почти весь функционал по работе с почтой, а в новом Google Chrome Toolbar отвечает за работу с текстом страниц.
В данной статье я постараюсь рассказать о создании динамического Toolbar, который позволит пользователю работать с контентом четырьмя различными способами в рамках одного Activity. Мы рассмотрим весь процесс разработки Toolbar-a начиная с xml файлов стилей и заканчивая анимацией иконок, а в конце статьи я оставлю ссылку на GitHub репозиторий с примером полностью рабочего приложения.
В данной статье я постараюсь рассказать о создании динамического Toolbar, который позволит пользователю работать с контентом четырьмя различными способами в рамках одного Activity. Мы рассмотрим весь процесс разработки Toolbar-a начиная с xml файлов стилей и заканчивая анимацией иконок, а в конце статьи я оставлю ссылку на GitHub репозиторий с примером полностью рабочего приложения.
+17
Обзор Razer Ouroboros и Blackwidow. Или как я клавиатуру с мышкой менял
7 мин
93KПрошла уже более трёх лет с того момента, как я начал пользоваться игровой мышкой Naga (спасибо Boomburum за неё) и обычной беспроводной клавиатурой Logitech. Но всё имеет свойство ломаться, как это ни печально. Мышь начала глючить, у неё перестала щёлкать одна кнопка, а у клавиатуры и вовсе начали отваливаться клавиши. И я снова решил взглянуть на рынок компьютерной периферии. Остановился для начала на Razer, т.к. мышка всё же прожила 3 года, а до этого обычно они у меня разваливались за год. Да и зелёный цвет в подсветках клавиатур меня всегда привлекал.
+24
Свет и цвет: основы основ
10 мин
399KМы часто говорим о таком понятии как свет, источниках освещения, цвете изображений и объектов, но не совсем хорошо себе представляем, что такое свет и что такое цвет. Пора разобраться с этими вопросами и перейти от представления к понимаю.
+38
Нейросеть на практике: Задача коммивояжера
5 мин
48KДобрый день, уважаемые хабропользователи.
Хотел бы поделиться практическим применением одного из алгоритмов нейродинамики, в продолжении моего поста Моделирование нейросети Машина Больцмана.
Реализация на примере решения задачи коммивояжера.
Немного напомню в чем ее суть.
Хотел бы поделиться практическим применением одного из алгоритмов нейродинамики, в продолжении моего поста Моделирование нейросети Машина Больцмана.
Реализация на примере решения задачи коммивояжера.
Немного напомню в чем ее суть.
+10
Google Play — работаем легально!
4 мин
179KПривет, Хабр!
Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
+84
Универсальная и дешёвая механическая рука от iRobot
1 мин
54KВ рамках программы Autonomous Robotic Manipulation (ARM) от научно-исследовательского агентства DARPA компания iRobot при помощи учёных из Гарварда и Йеля сконструировала универсальную механическую руку с тремя «пальцами». Точность движений руки настолько высока, что она может даже вставить ключ в замок и повернуть его, а потом открыть дверь.
+25
Sony показала гибкие E-Ink панели, на которых можно писать как на бумаге
1 мин
78KЯпонцы показали в действительно интересное устройство, отличающееся от большинства аналогов своими физическими характеристиками — гибкая панель на электронных чернилах, писать на которой можно специальным стилусом почти как на бумаге.
Показанный прототип будущего устройства имеет размеры, аналогичные формату А4 (т.е. 210x297 мм), весит 358 грамм и имеет толщину в 6.8 мм; разрешение дисплея при этом составляет 1200x1600 пикселей. В основе технологии — фирменная технология гибкой электронной бумаги Sony, что достигается установкой экрана не в стеклянные панели, а в гибкий прозрачный пластик, что автоматически удаляет еще один недостаток обычных планшетов — хрупкость дисплея.
Но — самое главное — при помощи специального стилуса на устройстве можно писать также, как пишут на обычной бумаге обыкновенной ручкой (в смысле образа действий, конечно); разрешение экрана позволяет видеть написанное вполне чётко, оценить можно на видео под катом. Ложные срабатывания девайс отсеивает по простому принципу — если к экрану касаются подушечкой нижней части ладони, то устройство считает, что надо обрабатывать только касания стилуса. В противном случае, все достоинства тач-экрана, конечно, сохраняются. С автономностью устройства тоже все нормально — указывается, что батарея способна поддерживать его работу в течении трёх недель.
Sony планирует коммерческий релиз своей разработки в течение этого года. Относительно цены пока ничего определенного не известно, но можно довольно смело заметить, что граница удобства использования электронной бумаги действительно достигнута. Взглянуть на то, как устройство работает — процесс написания показан крупным планом — можно на видео под катом.
Показанный прототип будущего устройства имеет размеры, аналогичные формату А4 (т.е. 210x297 мм), весит 358 грамм и имеет толщину в 6.8 мм; разрешение дисплея при этом составляет 1200x1600 пикселей. В основе технологии — фирменная технология гибкой электронной бумаги Sony, что достигается установкой экрана не в стеклянные панели, а в гибкий прозрачный пластик, что автоматически удаляет еще один недостаток обычных планшетов — хрупкость дисплея.
Но — самое главное — при помощи специального стилуса на устройстве можно писать также, как пишут на обычной бумаге обыкновенной ручкой (в смысле образа действий, конечно); разрешение экрана позволяет видеть написанное вполне чётко, оценить можно на видео под катом. Ложные срабатывания девайс отсеивает по простому принципу — если к экрану касаются подушечкой нижней части ладони, то устройство считает, что надо обрабатывать только касания стилуса. В противном случае, все достоинства тач-экрана, конечно, сохраняются. С автономностью устройства тоже все нормально — указывается, что батарея способна поддерживать его работу в течении трёх недель.
Sony планирует коммерческий релиз своей разработки в течение этого года. Относительно цены пока ничего определенного не известно, но можно довольно смело заметить, что граница удобства использования электронной бумаги действительно достигнута. Взглянуть на то, как устройство работает — процесс написания показан крупным планом — можно на видео под катом.
+45
Афтепати Google I/O обслуживает робот-бармен (немного фото+видео)
1 мин
51KДа, на Хабре уже пару раз публиковались новости о роботах-барменах, которые отлично выполняют свою работу. Надо думать, что через некоторое время подобные устройства появятся в обычных барах и ресторанах (возможно, в качестве помощника для бармена-человека). Ну, а пока роботы-бармены обслуживают посетителей технологических выставок и пресс-конференций. На афтепати Google I/O участников события развлекал и поил Makr Shakr, интерактивный робот-бармен.
+25
Вкратце о лицензиях Open Source
6 мин
13KМногие разработчики и дизайнеры хотят опубликовать свои работы в виде открытых проектов. Они хотят иметь возможность делиться своим кодом. Сообщество open-source с каждым днём всё прочнее стоит на ногах. Открытые программы существуют для любых видов задач, каких вы только можете себе вообразить. А многие веб-разработчики используют свободное ПО как фундамент для своей работы (WordPress, Drupal и многие другие CMS открыты, свободны и бесплатны).
Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.
Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.
+42
Анимация элементов ListView в Android
5 мин
27KДоброго дня суток, хабражители.
Сегодня я хочу поделиться с вами секретами анимации элементов списка ListView в Android.
Сегодня я хочу поделиться с вами секретами анимации элементов списка ListView в Android.
+4
Программирование на Android для web разработчика или быстрый старт для самых маленьких. Часть 2
2 мин
51KПриветствую!
Статья является продолжением начатой мной части 1.
Важно: данный урок не является профессиональным. Автор урока не является специалистом в программировании для платформы Android. Я заранее приношу свои извинения, за неоправданные ожидания.
В Activity для регистрации нужно проделать следующее:
Статья является продолжением начатой мной части 1.
Предостережение
Важно: данный урок не является профессиональным. Автор урока не является специалистом в программировании для платформы Android. Я заранее приношу свои извинения, за неоправданные ожидания.
RegistrationActivity
В Activity для регистрации нужно проделать следующее:
+28
91% самых инновационных продуктов в 1977-2004 гг не были запатентованы
2 мин
30KХорошо известно, что авторы новых изобретений не всегда патентуют их. Но оставался вопрос: сколько конкретно новых изобретений действительно патентуются, а сколько — нет. Группа исследователей из Школы экономики и менеджмента при Техническом университете Лиссабона опубликовала первое в своём роде исследование на эту тему.
Основным источником информации для исследования стали списки R&D 100 Awards, ежегодно составляемые научным журналом “Research and Development”. Это список самых лучших новых технических продуктов, которые появились в продаже или стали доступны для лицензирования за предыдущий год. Авторы исследования провели большую работу, сверив каждое наименование из этого списка с базой патентного ведомства США.
Основным источником информации для исследования стали списки R&D 100 Awards, ежегодно составляемые научным журналом “Research and Development”. Это список самых лучших новых технических продуктов, которые появились в продаже или стали доступны для лицензирования за предыдущий год. Авторы исследования провели большую работу, сверив каждое наименование из этого списка с базой патентного ведомства США.
+41
Виртуальные функции и деструктор
6 мин
173KКогда-то давным давно я собирался и даже обещал написать про механизм виртуальных функций относительно деструкторов. Теперь у меня наконец появилось свободное время и я решил воплотить эту затею в жизнь. На самом деле эта мини-статья служит «прологом» к моей следующей статье. Но я постарался изложить доходчиво и понятно основные моменты по текущей теме. Если вы чувствуете, что еще недостаточно разобрались в механизме виртуальных вызовов, то, возможно, вам следует для начала прочитать мою предыдущую статью.
Сразу же, как обычно, оговорюсь, что: 1) статья моя не претендует на полноту изложения материала; 2) мегапрограммеры ничего нового здесь не узнают; 3) материал не новый и давно описан во многих книгах, но если явно об этом не прочитать и самому специально не задумываться, то можно о некоторых моментах даже не подозревать (до поры, до времени). Также прошу прощения за надуманные примеры :)
Сразу же, как обычно, оговорюсь, что: 1) статья моя не претендует на полноту изложения материала; 2) мегапрограммеры ничего нового здесь не узнают; 3) материал не новый и давно описан во многих книгах, но если явно об этом не прочитать и самому специально не задумываться, то можно о некоторых моментах даже не подозревать (до поры, до времени). Также прошу прощения за надуманные примеры :)
+32
C++ MythBusters. Миф о виртуальных функциях
9 мин
81KЗдравствуйте.
В прошлой статье я рассказывал, с какой не всем известной особенностью можно столкнуться при работе с подставляемыми функциями. Статья породила как несколько существенных замечаний, так и многостраничные споры (и даже холивары), начавшиеся с того, что inline-функции вообще лучше не использовать, и перешедшие в стандартную тему C vs. C++ vs. Java vs. C# vs. PHP vs. Haskell vs. …
Сегодня пришла очередь виртуальных функций.
В прошлой статье я рассказывал, с какой не всем известной особенностью можно столкнуться при работе с подставляемыми функциями. Статья породила как несколько существенных замечаний, так и многостраничные споры (и даже холивары), начавшиеся с того, что inline-функции вообще лучше не использовать, и перешедшие в стандартную тему C vs. C++ vs. Java vs. C# vs. PHP vs. Haskell vs. …
Сегодня пришла очередь виртуальных функций.
+43
C++ MythBusters. Миф о подставляемых функциях
5 мин
37KЗдравствуйте.
Благодаря вот этому голосованию выяснилось, что на Хабре не хватает статей по такому мощному, но всё менее используемому языку C++. Профессионалам высокого уровня, гуру, магам и волшебникам языка C++, а также тем, кто уже успел оставить этот язык «позади» можно дальше не читать. Сегодня я хочу начать цикл статей, призванных помочь именно новичкам, относительно недавно начавшим изучать этот язык, либо же тем, кто (упаси Боже) читает мало книг, а пытается познавать всё исключительно на практике.
Также я надеюсь привлечь как можно больше авторов к написанию подобных статей, потому как моего опыта здесь будет явно недостаточно.
Благодаря вот этому голосованию выяснилось, что на Хабре не хватает статей по такому мощному, но всё менее используемому языку C++. Профессионалам высокого уровня, гуру, магам и волшебникам языка C++, а также тем, кто уже успел оставить этот язык «позади» можно дальше не читать. Сегодня я хочу начать цикл статей, призванных помочь именно новичкам, относительно недавно начавшим изучать этот язык, либо же тем, кто (упаси Боже) читает мало книг, а пытается познавать всё исключительно на практике.
Также я надеюсь привлечь как можно больше авторов к написанию подобных статей, потому как моего опыта здесь будет явно недостаточно.
+56
Smart pointers для начинающих
6 мин
205KЭта небольшая статья в первую очередь предназначена для начинающих C++ программистов, которые либо слышали об умных указателях, но боялись их применять, либо они устали следить за new-delete.
+60
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность