Search
Write a publication
Pull to refresh
0
0
Send message

Внешние ресурсы в Android приложениях

Reading time1 min
Views7.6K
Продолжаем публиковать e-Lectures — небольшие видеолекции от наших мобильных разработчиков.



Ссылки на исходники из видео:
github.com/stepango/metroTheme
github.com/stepango/DownloadableThemes

В этом видео Степан stepango Гончаров расскажет об одном из возможных способов добавления поддержки внешних тем в Android приложения.
На платформе Android сложно угодить дизайном всем пользователям, а множество предустановленных тем сильно раздувает приложение. Как достойно выйти из этой ситуации, предоставив возможность сторонним разработчикам очень легко создавать свои уникальные стили для приложения? Один из возможный вариантов в нашем видео.
Подписывайтесь на наш Хабра-блог (и на youtube-канал), чтобы не пропустить следующие видеолекции о мобильной разработке.

Выступление Кена Голдберга на RCC 2013

Reading time8 min
Views10K
Сегодня мы продолжаем публикацию своеобразных конспектов выступлений спикеров Russian Code Cup 2013. В этот раз представляем вашему вниманию доклад Кена Голдберга.

Кен Голдберг (Ken Goldberg), изобретатель первого в мире робота с web-интерфейсом, профессор Школы информатики Калифорнийского университета в Беркли.

Своё выступление я хотел бы посвятить обсуждению современной робототехники и её ближайшего будущего. Вы уже наверняка слышали про «гугломобиль», который ездит без водителя? Меня часто спрашивают, зачем вообще компания Google занимается роботами? Полагаю, что это связано с большой заинтересованностью «поисковой корпорации» в облачных технологиях. Лично не представляю себе будущую робототехнику без использования «облаков». Полагаю, вы задаётесь вопросом: а что же это за роботы такие будут, которые без «облака» не смогут работать? Позвольте рассказать вам об облачной робототехнике и о моих последних исследованиях в этой области.

Читать дальше →

Шаблоны проектирования при разработке под Android. Часть 3 — Пользовательский интерфейс, тестирование, AndroidMock

Reading time11 min
Views13K
В прошлой статье я рассказал, что такое MVP и как надо организовать процесс разработки приложений с использованием MVP. Теперь же я покажу как я разрабатывал свой T-Alarm.

Сначала я сделал представление и presenter, как описано в прошлой статье.

Представление (View)


Естественно, что мое представление это наследник класса Activity, точнее RoboActivity, что это такое я вкратце сейчас расскажу. Ниже показан очень характерный кусок исходников для окна редактирования настроек будильника:
Читать дальше →

Шаблоны проектирования при разработке под Android. Часть 2 — MVP и Unit tests. Путь Джедая

Reading time9 min
Views41K
По началу я хотел только кратко рассказать что такое MVP, но кратко не получилось. Поэтому я выделил этот кусок в отдельную статью, которая мало относится к Android, но очень важна для понимания MVP и модульных тестов. Обещанные же статьи никуда не денутся.

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

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

Читать дальше →

Шаблоны проектирования при разработке под Android. Часть 1 — Введение

Reading time4 min
Views28K
Писать программки для смартфонов — мое хобби. Все началось с того, что я купил свой первый смартфон Nokia E51 на Symbian и мне очень нравилось что его функционал можно было расширить через установку дополнительных программ.
Но однажды я не нашел необходимой программы и решил написать ее сам. Так и началось мое увлечение программами для смартфонов.

После того как глава Nokia заявил, что дни Symbian сочтены, я решил изучить платформу Android.

Для лучшего усвоения материала я решил написать полезную, хотя бы для себя, программку. Но написать ее не по детски, когда куски примитивного кода копируются из документации, а по взрослому с разработкой архитектуры, и использованием современных технологий программирования TDD, MVP и IoС.
Читать дальше →

Пишем фреймворк для разработки игр — Mechanic Framework

Reading time26 min
Views25K
Добрый день, жители Хабра!
Сегодня мы будем писать фреймворк с названием Mechanic Framework для удобной разработки игр под андроид.

image

Что нам потребуется:


  • Установленные Eclipse и Android SDK
  • Приличное знание Java либо другого С-подобного языка. Лучший пример – C#
  • Терпение


Читать дальше →

Беспроводной дисплей для Android

Reading time5 min
Views220K

В начале 2013 года в новостной ленте блога Intel мы сообщили о новой версии технологии WiDi, которая, в том числе, получила совместимость с родственным стандартом Miracast. Тогда эта информация прошла незамеченной, и на наш взгляд, весьма напрасно, поскольку картина в области беспроводных дисплеев кардинально изменилась. И одно из изменений — появление Miracast на Android. Давайте попробуем разобраться, как соотносятся друг с другом Miracast и WiDi, каким функционалом на пару обладают и как создавать приложения под Android с их использованием.
Читать дальше →

Хабраиндекс для статей по программированию под Android

Reading time2 min
Views95K
Читать дальше →

Pixel-perfect верстка Android макетов

Reading time7 min
Views57K
Разрабатывать интерфейс Android приложений — непростая задача. Приходится учитывать разнообразие разрешений и плотностей пикселей (DPI). Под катом практические советы о верстке макетов дизайна Android приложений в Layout, который совпадает с макетом на одном устройстве а на остальных растягивается без явных нарушений дизайна: выхода шрифтов за границы; огромных пустых мест и других артефактов.

UPD: Пост спорный, но много ценных советов в комментариях


Читать дальше →

Gradle: Tasks Are Code

Reading time5 min
Views48K
В предыдущем топике я постарался вкратце рассказать, что же такое Gradle и на каких идеях он построен. Также была освещена концепция Source Sets и функциональность, с ней связанная.

Теперь я хотел бы рассказать о том, чем Gradle зацепил лично меня. Речь пойдёт о способах работы с задачами. Задача в Gradle — близкий аналог Ant Target. И, чтобы не путаться в терминах, под задачей (или task) далее по тексту всегда будет подразумеваться Gradle Task. Если речь будет идти о сущности из Ant, то это будет указано явно: Ant task.

Так вот, задачи в Gradle создаются при помощи специального dsl (domain specific language) на основе Groovy. И возможности, которые этот dsl предоставлет, на мой взгляд, почти безграничны в сравнении с ant или maven.

Читать дальше →

Android компонент с нуля

Reading time7 min
Views37K
Всем привет! Создание собственных компонентов интерфейса часто является необходимостью чтобы выделиться из общей массы похожих программ. В этой статье как раз рассматривается создание простого, нестандартного компонента на примере кнопки-таймера.
Читать дальше →

Простой пример использования библиотеки Volley

Reading time4 min
Views55K
Я уверен вы, еще не слышали слово «Volley», это библиотека, представленная на Google I/O 2013 Ficus Kirkpatrick.

Для чего библиотека Volley?


Volley это библиотека, которая делает сетевые приложения для Android проще и, самое главное, быстрее.

Она управляет обработкой и кэшированием сетевых запросов, и это экономит драгоценное время разработчиков от написания одного и того же кода сетевого запроса/считывания из кэша снова и снова. И еще одно преимущество, меньше кода, меньше количество ошибок :)

Обычно мы пишем один и тот же код сетевого запроса в AsyncTask, логику обработки ответа от Web API и отображения его в View. Мы должны заботиться об отображении ProgressBar/ProgressDialog внутри OnsourceExecute() и OnPostExecute(). Я знаю, что это не трудная задача, но все же рутинная. Иногда бывает скучно, даже когда определен базовый класс для управления ProgressBar/ProgressDialog и многими другими вещами. Так что теперь можно сказать, Volley может быть мощной альтернативой AsyncTask.
Читать дальше →

Kotlin M5.3: Delegated Properties

Reading time4 min
Views11K
Не так давно мы выпустили очередной майлстоун языка программировани Kotlin, M5.3.
В этот релиз вошло довольно много разных изменений: от рефакторингов до новых возможностей в языке. Здесь я хочу рассказать про самое интересное изменение: поддержку делегированных свойств (delegated properties).
Читать дальше →

Пишем приложение под Android с поддержкой Cloud to Device Messaging (C2DM)

Reading time15 min
Views36K


Здравствуйте, читатели Хабрахабр!

В данном посте я хочу уделить внимание сервису C2DM от компании Google и попытаюсь рассказать, как реализовать поддержку данного сервиса в вашем Android-приложении. Напомню, что C2DM — это специальный сервис, предоставляющий API для отправки сообщений приложениям, установленным на устройствах Android. Использование данного сервиса является незаменимым способом при необходимости передать сообщение пользовательскому приложению, зарегистрированному в системе, но не являющемуся на данный момент активным.

Хотя C2DM является одной из фундаментальных возможностей платформы Android, информации о нем в рунете мало. Попытка изменить данную ситуацию и является одной из задач этого поста.

Под катом я расскажу, как написать простые клиентское и серверное приложения, покажу некоторые «подводные камни», а также дам ссылки на примеры кода.

Читать дальше →

HoloEverywhere v1.5

Reading time2 min
Views16K

Вчера, немного поматерясь, мной таки был сделан релиз HoloEverywhere 1.5.

Для тех, кто не в курсе: HoloEverywhere — бекпорт Holo темы с Android 4.1 на 2.1 и выше. Да и не только темы.

Нововведенний достаточно много, краткий список под катом.
Читать дальше →

AIDL (Android Interface Definition Language) и коммуникация между процессами (IPC)

Reading time5 min
Views36K
В данной статье мы попытаемся описать свой опыт работы с AIDL в Android IPC.
В ней содержится пример приложения с сервисом, который запущен в отдельном процессе.
Читать дальше →

Remote wipe на Android и Exchange ActiveSync

Reading time4 min
Views27K
Однажды наш администратор Microsoft Exchange упомянул о функциональности полной очистки любого устройства по своему усмотрению (будь то iPhone, или девайс на основе BlackBerry или Android), получающих почту по протоколу Exchange ActiveSync. Девайс рапортует серверу, доступен ли ему функционал wipe, а администратор может запретить передачу почты на устройства, не поддерживающие wipe.

Сначала я не поверил: как так, безобидная настройка почтового аккаунта даёт администратору почты столько полномочий на моём личном устройстве. Сделав полный бэкап SD-карточки и всей внутренней памяти, предложил эксперимент. И чудо — пришло push-уведомление, телефон подзавис, через некоторое время перезагрузился и я остался с заводскими настройками. А SD-карта вообще не подавала признаков жизни.



Заинтересовавшись, я решил изучить этот вопрос и, по возможности, отключить вредоносный функционал почтового клиента.

Читать дальше →

О языке Kotlin для Java-программистов

Reading time7 min
Views63K
Эта статья рассказывает о языке программирования Kotlin. Вы узнаете о причинах появления проекта, возможностях языка и посмотрите несколько примеров. Статья написана в первую очередь в расчете на то, что читающий знаком с языком программирования java, однако, знающие другой язык, тоже смогут получить представление о предмете. Статья носит поверхностный характер и не затрагивает вопросы связанные с компиляцией в javascript. На официальном сайте проекта вы можете найти полную документацию, я же постараюсь рассказать о языке вкратце.
Читать дальше →

Другие возможности Java

Reading time4 min
Views6.8K
Я продолжаю переводить источник первой статьи. Всё больше очевидных вещей, не смотря на это я все же решил, что повторение — не такое плохое занятие.

И коли источник исчерпыет себя — призыв к хабра-java-сообществу: «Don’t be jealous!», дополните этот список в комментариях, поделитесь опытом. А пока — продолжение предыдущей статьи, после монтажа, дубляжа и разбавления собственным опытом:

JDK tools


Почти все в курсе, что в поставку JDK входит внушительное число tools’ов. Однако в повседневной работе, думаю, многие кроме как java, javac, jar не используют. Что же ещё можно взять из папки bin:
Читать дальше →

Знакомство с АОП

Reading time10 min
Views131K

Парадигмы программирования


В современном мире IT-разработки существует довольно большое множество различных подходов к написанию программ. Так, например, кому-то нравиться представлять программу в виде последовательности действий, а кто-то считает, что программа должна представлять собой множество объектов, общающихся друг с другом. Совокупности этих идей и понятий образуют своего рода стиль написания программы, который принято назвать – парадигма программирования.

У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
  • инструкция (императивное программирование, FORTRAN/C/PHP),
  • функция (функциональное программирование, Haskell/Lisp/F#/Scala),
  • прототип (прототипное программирование, JavaScript),
  • объект (объектно-ориентированное программирование, С++/Java),
  • факт (логическое программирование, PROLOG).

Стоит заметить, что в общем случае язык программирования однозначно не определяет используемую парадигму: на том же PHP можно писать как императивные, так и объектно-ориентированные программы.

В этой статье я хочу рассказать о сравнительно молодой, но крайне, на мой взгляд, полезной парадигме программирования – аспектно-ориентированном программировании.

Читать дальше →

Information

Rating
Does not participate
Location
Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

Backend Developer, Application Developer
Senior
Git
SQL
OOP
Java
Docker
Spring Boot
Java EE
Intellij IDEA
Hibernate
Java Spring Framework