Как стать автором
Обновить
20
0
Majid Jabrayilov @Mecid

iOS Developer

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

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

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

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

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

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

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

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

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

Время на прочтение2 мин
Количество просмотров48K
Здравствуй хаброчеловек!

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

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

Время на прочтение3 мин
Количество просмотров221K
Список контактов до Список контактов после
Сравниваем «до» и «после».

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

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

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

Время на прочтение22 мин
Количество просмотров5K
image

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

image

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

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

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

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

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

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

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

Читать дальше →
Всего голосов 137: ↑131 и ↓6+125
Комментарии48

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

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

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

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

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

Время на прочтение9 мин
Количество просмотров3.3K
image

Введение


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

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

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


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

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

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

Busybox



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

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

Время на прочтение10 мин
Количество просмотров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.
Наверное, самое время напомнить, что использование неофициальных прошивок лишает нас гарантии, но где наша не пропадала. И несмотря на то, что большинство операций безопасно — всегда нужно четко понимать что и зачем делается, дабы не причинить необратимый вред своему андроиду
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии46

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

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

Задача:


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

Реализация:


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

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

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

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

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

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

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

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

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

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

Предисловие


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

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


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

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

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

Время на прочтение10 мин
Количество просмотров978K
Перевод статьи Vincent Driessen: A successful Git branching model

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



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

Читать дальше →
Всего голосов 180: ↑171 и ↓9+162
Комментарии105

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

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

Введение


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

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

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

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

Уточнение


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

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

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

image

Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии17

Информация

В рейтинге
Не участвует
Откуда
Баку, Азербайджан, Азербайджан
Дата рождения
Зарегистрирован
Активность