Как стать автором
Обновить
4
0
Алексей @axp

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

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

Запись разговоров на Android

Время на прочтение3 мин
Количество просмотров316K
Я думаю, довольно многим хочется иметь возможность записывать собственные телефонные разговоры на своём смартфоне за 20 тысяч рублей. Задача вроде бы банальная, и вроде бы API Android’а позволяют это делать. Но почему запись не работает почти на всех устройствах без всяких шаманств и танцев с бубном?

Закон


Всё дело в том, что в некоторых странах запись является нелегальной и производители не тратят время на добавление такой возможности. Но как же быть тем, кто живёт в странах, где записывать разговоры не запрещено. Например, в России нет запрета на запись собственных телефонных разговоров, даже не нужно предупреждать собеседника о записи. Только прослушивать записи ваших разговоров имеете право только вы, т.е. если вы дадите прослушать запись третьему лицу, то это будет расцениваться, как нарушение 23-й статьи Конституции РФ.

Телефон


В некоторых устройствах ядро не содержит нужного драйвера, в некоторых устройствах запись отключена в системных библиотеках. Поэтому на этих телефонах запись не работает ни в одной из десятков программ в Market’e. Оно и не удивительно, ибо все они пишут разговоры одним и тем же способом. Но на некоторых телефонах запись работает без всяких танцев с бубном, например, на Samsung Galaxy S II. Но не на каждой прошивке, например, на Android 4 ICS запись уже не работает, видимо, Samsung посчитал, что пользователям она не нужна и убрал её.
Читать дальше →
Всего голосов 95: ↑85 и ↓10+75
Комментарии69

Android — фильтруем пины на карте, в зависимости от расстояния друг от друга

Время на прочтение7 мин
Количество просмотров3.8K
Довелось как то недавно делать проект с использованием google maps. В один из моментов, увидел я вот такую картину:





Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии22

Защита Android приложений от реверс-инжиниринга — ProGuard

Время на прочтение2 мин
Количество просмотров44K
ProGuard — это утилита для сокращения, оптимизации и обфускации кода. На выходе вы получаете *.apk меньшего размера, который намного сложнее реинжинирить. На developer.android.com написано, что ProGuard внедрен в систему сборки Android приложений. Однако, я заметил, что эта утилита появилась в моей папке с SDK только после обновления до r9.
Читать дальше →
Всего голосов 65: ↑55 и ↓10+45
Комментарии26

Простой пример выполнения HTTP-запроса к web-сервису и разбор XML-ответа

Время на прочтение3 мин
Количество просмотров51K
Привет всем хабровчанам!

Сразу хочу сказать, что, хотя тема не «Hello world», но рассматриваемая задача довольно проста и приведена здесь на Хабре скорее в качестве средства экономии времени для разработчиков, которым, возможно, надо будет поработать с XML-ответами от web-сервисов. Для XML-разбора я использовал DOMparser (я знаю и про SAXParser, конечно) как это привычно для меня в PHP.

У Приватбанка (Украина) имеется API, с которым можно ознакомиться здесь. После изучения его становится ясно, что сервис достаточно информативный и было бы удобно иметь на мобильном устройстве средство общения с ним. Посмотрим как можно опросить этот сервис и получить такую избитую, но иногда полезную информацию как актуальный курс валют. После прочтения топика, в принципе, не составит труда написать и другие полезные функции.

Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии16

Отслеживание продаж при помощи Google Analytics

Время на прочтение3 мин
Количество просмотров7.2K
Пытаясь придерживаться традиции, публикую перевод очередной статьи из блога разработчиков android-developers. На этот раз статья посвящена отслеживанию продаж внутри приложений при помощи Google Analytics Android SDK.

Почему это важно?


Если вы распространяете некие товары через своё приложение, то, скорее всего, вы захотите узнать, каков реальный доход, генерируемый продажами. А также, например, список самых популярных или самых продаваемых товаров.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии3

Введение в Gestures

Время на прочтение4 мин
Количество просмотров17K
или толкование жестов :)



Сейчас мы на боевом примере поработаем с жестами в среде Android. Приложение будет клиентом сайта Astronomy Picture of the Day by NASA. На этом сайте ребята каждый день выкладывают какую-нибудь замечательную картинку, связанную с астрономией. Жестами мы будем ходить вперед/назад и вызывать диалог выбора даты. А чтобы было еще интересней — напишем его для Honeycomb.

Статья состоит из двух частей: первая — покажет, как создавать жесты с помощью приложения Gestures Builder и выгружать их из эмулятора в отдельный бинарный файл. Во второй части, мы загрузим его в наше приложение и начнем использовать.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии4

Автоматическое генерирование APK с различными данными из командной строки с помощью Ant

Время на прочтение3 мин
Количество просмотров6K
Недавно столкнулся с проблемой — нужно было на удаленном сервере генерировать apk файл для загрузки, причем в зависимости от передаваемого адреса сервера программа должна была по умолчанию при установке соединяться с различными серверами.

Итак задача — дать пользователю возможность загрузить из интернета динамически генерируемое Андроид приложение которые буду вести себя по разному в зависимости от переданных параметров (в данном случае разные сервера загрузки данных).

Подробности
Всего голосов 35: ↑31 и ↓4+27
Комментарии2

Глубокое погружение в определение местоположения

Время на прочтение8 мин
Количество просмотров24K
Этот пост является переводом топика из блога android-developers. Далее повествование ведется от Рето Майера, автора книги Professional Android 2 Application Development. Он пишет о том, как можно улучшить приложения, использующие местоположение, в смысле кэширования результатов, скорости работы и так далее.

Без разницы, ищете ли вы место, где бы поесть, или ближайшее место велосипедов Boris Bike, всегда есть задержка при получении данных местоположения от GPS и заполнении абстрактного списка результатов в вакууме. Когда вы находитесь в месте, где хотели бы получить контекстную информацию, то часто вы сталкиваетесь с отсутствием подключения к данным.

Вместо того, чтобы грозить кулаком в небо, я написал open-source приложение, которое включает в себя советы и рекомендации по сокращению времени между открытием приложения и просмотром актуальной информации о близлежащих местах, вкупе с разумным обеспечением offline режима работы. И всё это, сохраняя использование аккумулятора на возможном минимуме.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии1

Конфигурация приложения в Android: быстрая разработка

Время на прочтение12 мин
Количество просмотров13K
imageПри разработке мобильных приложений зачастую возникает необходимость хранить настройки приложения (выбранную пользователем цветовую тему, пароль доступа к приложению, параметры синхронизации с сервером и т.д.). Поскольку такие задачи возникают довольно часто, в Google позаботились о разработчиках и создали механизм для быстрой и легкой реализации данного функционала. Этот механизм позволяет легко создавать, сохранять, отображать и производить разные манипуляции с настройками приложения. Мало того он позволяет автоматически создавать пользовательский интерфейс. При описании типа параметра настроек — автоматически генерируется часть пользовательского интерфейса в зависимости от типа параметра (boolean — чекбокс, String — поле ввода, ...) без написания кода. Звучит неплохо для быстрой разработки, не так ли?
Читать дальше →
Всего голосов 30: ↑22 и ↓8+14
Комментарии0

Выпуск №72 — The Art Of Programming [ Drinking ] Переезд в TEXAS

Время на прочтение1 мин
Количество просмотров2.2K
Все о переезде и жизни в TEXAS
Статистика по визам http://www.myvisajobs.com/
Форум http://forum.privet.com/viewforum.php?f=1

Cost-Based Oracle Fundamentals (Expert's Voice in Oracle) / Jonathan Lewis
http://www.amazon.com/Cost-Based-Oracle-Fundamentals-Experts-Voice/dp/1590596366/
http://www.ozon.ru/context/detail/id/2984086/

Контакты:
Michael
zorkus
http://twitter.com/zorkus

golodnyj
G+ http://gplus.to/golodnyj
G+ http://gplus.to/TheArtOfProgramming
podcast@golodnyj.ru
Всего голосов 27: ↑21 и ↓6+15
Комментарии4

Прототип Lane Departure Warning или как напомнить водителю о том, что жить ему осталось не очень долго

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

Почитал я немного про автовыставку в Детройте, про то, что Lane Departure Warning становится все более и более популярным и решил, что надо бы поделиться своим опытом изготовления прототипа этой системы из нехитрых компонентов в виде веб-камеры, Питона, OpenCV и пары дней усердной медитации:)

Историю создания прототипа можно почитать и посмотреть под катом… (там картинки, много...)
Читать дальше →
Всего голосов 179: ↑178 и ↓1+177
Комментарии101

Улучшенный 9-patch редактор

Время на прочтение4 мин
Количество просмотров45K
Добрый день, Хабражитель!

imageУверен с форматом nine-patch уже все давным-давно знакомы, вероятно даже не раз пользовались им в своих Android-проектах (а может даже и где-то ещё). Также о нём чуть менее года назад skkap писал небольшую статью о том, что это за формат, и «с чем его едят». Также он описал инструмент, предлагаемый для быстрого редактирования этих самых файлов.

Собственно, прошёл уже почти год с того момента и я, опять наткнувшись на ту статью и вспомнив жалобы знакомых на неудобство этого самого «инструмента», решил посмотреть нет ли каких других вариантов и, к моему большому удивлению, я таковых не нашёл. Вероятно потому, что формат сам из себя ничего сложного и специфичного не представляет (при желании nine-patch файлы можно редактировать почти в любом графическом редакторе поддерживающем png) и тем более уже есть готовый инструмент (пусть и не самый удобный).

Тут я и решил лично взяться за дело…

Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии49

Спасти проект: самые важные вопросы

Время на прочтение4 мин
Количество просмотров5.9K
Так уж получилось, что последние пару лет я много работаю с кризисными проектами. Это проекты, в которых деньги потрачены, цели не достигнуты, все сроки много раз нарушены, менеджера уволили или он сам в ужасе сбежал, а уровень мотивации команды – ниже некуда. В общем, материализовавшийся fuck up. К сожалению, большинство таких проектов нельзя просто закрыть – все они важны для заказчика.
Читать дальше →
Всего голосов 73: ↑66 и ↓7+59
Комментарии48

12 000 рублей за сайт. Есть ли бизнес за МКАДом?

Время на прочтение6 мин
Количество просмотров28K
Сегодня мы с уверенностью можем сказать, что отказались от разработки сложных и дорогих интернет-проектов в пользу бюджетных, простых решений за 12 000 рублей. Вместо одного недовольного клиента, мы получаем десять довольных, а сам бизнес стал стабильным, рентабельным и, главное, прогнозируемым и предсказуемым. Я давно обещал рассказать, как нам это удается. В декабре мы перешагнули планку «21 сайт в месяц», и готовы поделиться своими секретами.
Читать дальше →
Всего голосов 198: ↑175 и ↓23+152
Комментарии317

Делаем простейший сборщик ошибок для Android

Время на прочтение3 мин
Количество просмотров27K
При разработке приложения неизбежно приходится сталкиваться с ошибками в коде и/или окружении. И очень печально когда подобные ошибки встречаются не на тестовом телефоне/эмуляторе а у живых пользователей. Еще печальнее если это не ваш друг бета-тестер и толком никто не может объяснить что и где свалилось.

Обычно при внезапном падении приложения Android предлагает отправить отчет об ошибке, где будет и подробный стэк-трейс и информация о версии вашего приложения. К сожалению пользователи не всегда нажимают кнопку «отправить отчет» а для дебаг-приложений или приложений не из маркета такая функциональность и вовсе недоступна.

Что же делать? На помощь приедет возможность языка Java обрабатывать исключения (Exceptions), в том числе и непойманные (unhandled).

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

Стилизация приложений часть первая

Время на прочтение4 мин
Количество просмотров79K
Coloroid
Все идет хорошо, вы успешно пишете свои великолепные (ну у кого-как) приложения, даже бывает публикуете их на маркете, но возникает проблема: весь интерфейс уж слишком скучен и однообразен, черный фон (в некоторых селениях белый) и стандартные элементы уж слишком приелись…

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

Это статья о том, как можно стилизовать свое приложение под конкретные цвета, а не ограничиваться цветами Андроида
Поехали
Всего голосов 73: ↑64 и ↓9+55
Комментарии38

Пробуем 3D с помощью jMonkeyEngine

Время на прочтение6 мин
Количество просмотров28K
Практически каждый, кто занимался геймдевом, понимает, что наилучшей производительности в этой области, по понятным причинам, можно добиться лишь на языках С/С++/asm. С данным утверждением в этой статье я спорить не буду, да и раньше даже как-то не задумывался о создании realtime-игр на других языках. Однако, игры бывают разные, и надо отдавать себе отчёт в том, насколько оправданы трудозатраты на реализацию очередного продукта. Если проект монструозен, с «тяжёлой» графической составляющей, даже после проведения весьма агрессивной оптимизации всё равно требующий от конечных пользователей (геймеров) топового железа на борту, то особых конкурентов на данный момент среди языков разработки у С/С++ в этом случае нету. Но если игрушка — не более чем обыкновенная казуалка, для запуска которой и нетбука будет достаточно, то можно позволить себе куда больший простор для фантазии в вопросе выбора инструментов для разработки. Исходя из этого принципа, в данной статье попробуем разобраться, чем может похвастаться в области геймдева такой, казалось бы, не совсем подходящий для этого, но удобный в целом язык Java, на примере движка jME.
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии9

Принтер из CD-ROM'a

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



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

Читать дальше →
Всего голосов 439: ↑426 и ↓13+413
Комментарии80

Решение судоку с помощью веб-камеры в реальном времени

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

Предисловие




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

Программа написана с помощью низкоуровневого языка C++, потому что я действительно хотел понять, как же это все работает изнутри. Если вы тоже хотите начать изучение компьютерного зрения, то для этого пригодиться библиотека OpenCV. На CodeProject вы сможете найти несколько уроков по ней. Изображение с веб-камеры получается с помощью исходного кода Вадима Горбатенко (AviCap CodeProject).
Читать дальше →
Всего голосов 363: ↑360 и ↓3+357
Комментарии67

Опыт разработки GUI на JSF

Время на прочтение3 мин
Количество просмотров50K
Разработкой браузерных GUI под явой я занимаюсь уже около 12 лет, среди прочего имею опыт использования сервлетов, JSP, XML/XSLT, Struts, Tapestry (3,4,5), Wicket, Spring MVC и GWT.

Но JSF обходил до сих пор стороной. Причина этому было то, что когда JSF только появился, то в своих первых инкарнациях выглядел устрашающе коряво — по сравнению с теми же Tapestry и Wicket.

Время шло, JSF не собирался умирать, а появился уже в версии 2.1. И я решил попробовать использовать его для одного из своих экспериментальных проектов, на которые я трачу примерно 3 месяца каждый год — для расширения кругозора и отвлечения от скучного консалтинга (которым зарабатываю детишкам на молочишко в остальные 9 месяцев).

Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии48

Информация

В рейтинге
Не участвует
Откуда
Mountain View, California, США
Дата рождения
Зарегистрирован
Активность