Pull to refresh
20
0
Majid Jabrayilov @Mecid

iOS Developer

Send message

Ручная верстка vs Storyboard/Nib

Reading time 3 min
Views 29K
Большинство разработчиков для iOS знакомы со Storyboard. Apple предлагает использовать его. Но в последнее время, удобство этого инструмента вызывает у меня сомнения.

Ниже я хочу сравнить различные методологии с использованием Storyboard или набора Xib-фалов, с ручной верстой (с использованием autolayout и без). Не претендую на полноту раскрытия темы и буду рад, если вы укажете мне на ошибки и/или предложите другие методологии и критерии сравнения.

Пост не содержит экспериментов, академических вычислений и основывается на моих знаниях и опыте в области iOS разработки. Был бы рад узнать мнения экспертов!
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Comments 44

Google voice + ipkall + sipnet == Звоним в любую точку США бесплатно

Reading time 3 min
Views 31K

После того как я довольно плотно подсел на иглу виртуального шоппинга передо мной встал вопрос поиска дешевого решения для приема звонков из Американских магазинов.
Естественно можно купить прямой skype номер, но это стоит каких-то, но денег, а так как принимать звонки от магазинов приходится не так часто, то надо было найти решение поэкономичней.
Читать дальше →
Total votes 130: ↑124 and ↓6 +118
Comments 74

Паттерны проектирования

Reading time 2 min
Views 48K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →
Total votes 47: ↑37 and ↓10 +27
Comments 29

Простой способ поставить аватары своим контактам в Android

Reading time 3 min
Views 221K
Список контактов до Список контактов после
Сравниваем «до» и «после».

Исследуя возможности своего нового HTC Hero сразу же после обретения (Лиза, спасибо за подарок!), я в первый же день обратил внимание на тесную интеграцию с социальными сервисами. Google, Facebook, Twitter, Flickr… Не очень давно к этому списку добавился ещё и ВКонтакте. Мысль скачать и поставить аватары контактам из телефонной книги рождается сама собой!

Как это сделать, и что ещё у меня получилось извлечь из интеграции с социальными сетями под катом.
Читать дальше →
Total votes 87: ↑67 and ↓20 +47
Comments 134

Удержание баланса между функциональностью и совместимостью при разработке приложения

Reading time 22 min
Views 5K
image

Разработчики приложений для Android, ориентирующиеся при разработке на все вышедшие устройства, наверняка знакомы с этой схемой:

image

На 1 июля 2010 года это было статистикой запущенных версий Android. С выходом новых версий Android разработчики стали задумываться: добавить в приложение новые функции, предоставленные новой версией, либо сделать его доступным на как можно большем количестве устройств.

Опытные разработчики уже удостоверились, что эти два варианта являются взаимоисключающими, и сохранение баланса между ними может быть болезненным. В этой статье я покажу вам, что это не так.
Читать дальше →
Total votes 75: ↑66 and ↓9 +57
Comments 15

Многопоточность — как средство повышения эффективности

Reading time 10 min
Views 9.2K
Хорошей практикой в создании быстро реагирующего приложения является уверенность, что ваш пользовательский интерфейс требует минимального времени для обработки. Каждое потенциально долгое действие, которое может повесить Ваше приложение, нужно вывести в отдельный поток. Типичными примерами таких действий являются сетевые операции, которые несут в себе непредсказуемые задержки. Пользователи могут мириться с небольшими паузами, особенно, если вы информируете их о прогрессе, а вот застывшее на месте приложение не дает им выбора, кроме как закрыть его.

В этом уроке мы создадим загрузчик картинок, который иллюстрирует данную ситуацию. Мы будем заполнять ListView пиктограммами изображений, загруженных из сети. Созданный асинхронный процесс, загружающий изображения в фоновом режиме, будет ускорять наше приложение.
Читать дальше →
Total votes 44: ↑39 and ↓5 +34
Comments 19

Основы программирования под Android на примере игры Судоку

Reading time 6 min
Views 375K
В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
Осторожно много скриншотов.

Читать дальше →
Total votes 137: ↑131 and ↓6 +125
Comments 48

Простой RSS-клиент на Android

Reading time 14 min
Views 109K
Пошаговое руководство по созданию RSS-клиента на Android. Статья для начинающих разработчиков.
Android – операционная система для мобильных устройств от Google.
Система очень перспективная и динамично развивается. Базовые навыки разработки будут совсем не лишними.
Осторожно много скриншотов!
Читать дальше →
Total votes 67: ↑64 and ↓3 +61
Comments 46

Разработка под Android, грабли большие и не очень

Reading time 4 min
Views 47K
Ниже я попробую описать ряд неприятных особенностей с которыми может столкнуться разработчик для платформы Android. Не все они являются особенностью именно операционной системы Android, но так или иначе шансы встретиться с ними есть.
Читать дальше →
Total votes 99: ↑95 and ↓4 +91
Comments 58

Разработка приложений под электронную книгу Barnes&Noble Nook

Reading time 9 min
Views 3.3K
image

Введение


Недавно мы (mynook.ru, первый пост, второй пост) открыли свой профиль на reformal.ru, где нас начали спрашивать как самому писать приложения под нук, а так же просили выложить исходники FBReader'а.
Все исходники вы теперь можете найти на гуглокоде, а вот насчет первого я постараюсь сейчас рассказать.

Большое спасибо отличному дизайнеру nilov за то что помог мне оформить картинками этот пост, за то, как он хорошо передизайнил иконки и за непосредственно перевод Nook'а.

На кого расчитано


Я предполагаю, что человек, который будет читать дальше знает азы разработки под андроид (если быть точнее, то под 1.5) и соответственно прошу не задавать вопросов про азы андроида и уж тем более не обсуждать то, как купить нук в россии/украине/etc…
Читать дальше →
Total votes 73: ↑68 and ↓5 +63
Comments 12

Разработка и модификация прошивки для Android телефонов. Часть 2

Reading time 9 min
Views 64K
В первой части мы научились перепаковывать официальную прошивку из формата RUU в формат пакета обновлений, что дало нам возможность использовать созданную нами прошивку, не опасаясь затирания модифицированного раздела восстановления (recovery rom). И тем временем, пока HTC воюет с хорошими ресурсами, мы продолжим изучать и улучшать прошивку.
В предыдущей части, хоть мы и создали прошивку, которая загружается и работает как часы, мы бы хотели расширить базовый функционал оной. Одним из самых востребованных расширений является поддержка работы с правами суперпользователя (root). Также сюда можно отнести интегрирование busybox. Кроме того, мы научимся запускать произвольные скрипты при старте системы и адаптируем ramdisk под свои нужды.

Busybox



busybox — это набор консольных unix утилит, ориентированный на малый размер и производительность, что так актуально для мобильных систем. Вместе с системой android поставляется свой набор утилит — toolbox, который предоставляет минимально необходимых функционал для системы, и как следствие более простой в количественном и функциональном плане. Наличие busybox в системе, с одной стороны, позволит нам, как разработчикам, чувствовать себя более комфортно при удаленной работе на устройстве, с другой, позволит писать сложные скрипты, и, например, реализовать механизм запуска собственных скриптов при загрузке, используя run-parts. Также стоит учитывать, что для некоторых android приложений (особенно те, которые используют root) наличие busybox — обязательно.
Читать дальше
Total votes 48: ↑48 and ↓0 +48
Comments 10

Разработка и модификация прошивки для Android телефонов на примере HTC Hero GSM. Часть 1

Reading time 10 min
Views 164K
Причины по которым люди ставят модифицированные версии прошивок различны. Кому-то хочется удивить друга смешной анимацией загрузки, кому-то не хватает определенного функционала (например vpn), кто-то хочет выжать максимум производительности из своего телефона за счет разгона процессора, а кто-то пять месяцев ждет новую версию операционной системы Android для своего любимого HTC Hero.
На данный момент уже существует превеликое множество самых невообразимых сборок для самых различных телефонов на базе Android. Иногда они даже появляются в той или иной форме на Хабре.
Я же хочу Вам рассказать о процессе и особенностях создания кастомной прошивки на основе официальной. Данные знания были получены в процессе разработки одной из не многих отечественных прошивок на базе Android 2.1 для HTC Hero GSM. И более или менее успешно опробованы на себе и других подвернувшихся пользователях одного крупного российского форума.
Не смотря на то, что все нижеследующее было сделано для HTC Hero, данные правила и особенности имеют полную силу для всех телефонов, особенно тех, которые разработаны компанией HTC и используют фирменную оболочку Sense.
Для экспериментов нам понадобится:
  • Android SDK желательно последней версии
  • Утилита apktool для реинжениринга системных приложений
  • Утилиты smali/baksmali для де-оптимизации системных приложений
  • Утилита unyaffs для извлечения системных файлов из образа
  • Скрипт split_bootimg.pl для извлечения ядра и ramdisk-а
  • Утилита testsign для подписывания пакета обновления и отдельных приложений
  • установленное и настроенное JRE
  • телефон с операционной системой Android
  • права суперпользователя и модифицированная подпрограмма восстановления (recovery rom)

Все вышеперечисленное доступно в версиях как для системы Linux так и для Windows. Но в своих примерах я буду ориентироваться на использование Linux.
Конечно же ни root-права ни recovery нам не нужен для того, чтобы начать разработку, однако если мы захотим опробовать наше творение, они нам понадобятся. Для HTC Hero можно использовать RA-hero-v1.6.2.
Наверное, самое время напомнить, что использование неофициальных прошивок лишает нас гарантии, но где наша не пропадала. И несмотря на то, что большинство операций безопасно — всегда нужно четко понимать что и зачем делается, дабы не причинить необратимый вред своему андроиду
Читать дальше →
Total votes 79: ↑73 and ↓6 +67
Comments 46

Как реализовать загрузку изображений в список в отдельном потоке на Android

Reading time 5 min
Views 38K
List Image Fetching
По просьбам трудящихся, статья о методе загрузки изображений в список в отдельном потоке на Android.

Задача:


Реализовать механизм загрузки изображений из Интернета и отображения их в списке. При этом загрузка изображений должна быть реализована в отдельном потоке, во избежания «зависания» UI приложения.

Реализация:


Для реализации поставленной задачи использованы стандартный виджет ListView и адаптер — ArrayAdapter. Для работы с изображениями создан helper-класс ImageManager, который имеет два метода downloadImage() и fetchImage(). Первый загружает изображений из Интернета. Второй — вызывает загрузку изображений в отдельном потоке и устанавливает результат в ImageView.
Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Comments 13

Tips and Tricks по программированию на Android

Reading time 5 min
Views 7.2K
Tips and Tricks
Летом друг подкинул пару заказов по разработке для Android. Первое это streaming проигрыватель видео для одного французского телевидения, второе — простенькая игрушка.
Во время разработки (мой первый опыт разработки на Android и на Java), я уяснил несколько правил, которые нужно соблюдать для корректной и устойчивой работы программ, которыми хочу поделится…
Читать дальше →
Total votes 91: ↑75 and ↓16 +59
Comments 44

50 цитат о программировании всех времён

Reading time 6 min
Views 158K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

50. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы больше и с лучшей идиотоустойчивостью, и вселенной, которая пытается создавать больших и лучших идиотов. Пока вселенная побеждает.
— Rick Cook

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8 +328
Comments 136

Android 2.1 на HTC Hero — личный опыт

Reading time 4 min
Views 7.2K

Предисловие


Последнее время на хабре, да и не только, принято ругать HTC за невыполнение своих обещаний по срокам выпуска новой прошивки на любимого своими обладателями HTC Hero.
Но, как известно, наше счастье — в наших руках.
Я вряд ли смогу удивить большинство из вас этим постом, но кому то он действительно может пригодиться.
На просторах рунета встречается очень много custom прошивок с андроидом версии 2.1 для героя.
Но, как то незаслуженно, обделена вниманием VillainRom.

Что я получил от прошивки


  1. Перестал нервничать из-за постоянного переноса даты релиза от HTC.
  2. Android 2.1 на любимом устройстве.
  3. Доступ ко всем приложениям на маркете.
  4. Время работы моего героя увеличилось в 2 раза (раньше мне его не хватало и на сутки, теперь заряжаюсь не чаще чем раз в 2 дня.
  5. Хоть какую-то уверенность что следующие версии ОС android будут доступны и для моего телефона.

Пользуюсь данной прошивкой уже больше 2-х недель, очень доволен.
Все еще ждете релиза от HTC? Пойдемте лучше к нам!
Total votes 79: ↑66 and ↓13 +53
Comments 115

Удачная модель ветвления для Git

Reading time 10 min
Views 974K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Total votes 180: ↑171 and ↓9 +162
Comments 105

Некоторые возможности использования Intent'ов

Reading time 6 min
Views 66K

Введение


Объекты типа Intent могут быть использованы для общения между отдельными частями Android приложения, либо между различными приложениями системы. Мощь механизма интентов заключается в том, что с его помощью можно обращаться к любому установленному в системе приложению. Это позволяет повторно использовать некоторые компоненты и значительно сократить время на разработку.

В этой статье я покажу некоторые возможности использования класса Intent для обращения к системным приложениям.
Читать дальше →
Total votes 76: ↑73 and ↓3 +70
Comments 18

Java сертификация. Подготовка к SCJP

Reading time 5 min
Views 70K
В этом месяце я сдавал экзамен SCJP. В этом топике я расскажу о подготовке и экзамене.
В основном для тех, кто собирается сдавать и кому нужно больше информации об этом.

Уточнение


Так как Sun'a больше нет, то и экзамена SCJP тоже нет. Теперь он значится так:
1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam.
прочитать об экзамене и посмотреть задачи
Total votes 89: ↑84 and ↓5 +79
Comments 43

Создание горизонтального скрола с градиентом и стрелками

Reading time 8 min
Views 5K
Расскажу как создать горизонтальный блок, который скролится вправо/влево. У которого пропадают стрелки по краям (когда мы дошли до конца). И который имеет градиентную заливку.

image

Читать дальше →
Total votes 54: ↑47 and ↓7 +40
Comments 17

Information

Rating
Does not participate
Location
Баку, Азербайджан, Азербайджан
Date of birth
Registered
Activity