Как стать автором
Обновить
0
0
Парпура Павел @DieSlogan

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

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

Простой USSD-запрос в Android 4.0+

Время на прочтение3 мин
Количество просмотров38K
В Android до сих пор нет API для USSD-запросов. Баг висит уже 6 лет!
Я находил разные способы создания и получения информации из USSD запросов, но в итоге ни один не устроил.
Затем я нашел упоминания о том, что с помощью обновленных в Android 4.0 служб спец. возможностей можно легко получать содержимое окон и так получить текст из окна и результатом USSD запроса. Попробовал — получается отлично! Без перезагрузок и надежно.
Читать дальше →

Кольца, уровни привилегий и защита в x86

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

Вы наверняка интуитивно догадывались, что приложения, выполняемые на Intel x86 компьютерах, ограничены в своих возможностях, и что некоторые действия могут быть выполнены исключительно операционной системой. Но знаете ли вы, как это действительно работает? В данном посте рассмотрим уровни привилегий x86 — механизм, в котором ОС и процессор действуют сообща для того, чтобы ограничить то, что могут сделать user mode приложения.

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

Правильная работа с БД в Android

Время на прочтение7 мин
Количество просмотров154K
Приветствую всех дроидеров в эти непростые для нас времена.
Честно говоря, заколебала эта шумиха о патентах, войнах и т.д., но в данной статье речь пойдет не об этом.
Я не собирался писать статью на данную тему, так как везде всего полно о работе с базой данных в Android и вроде бы все просто, но уж очень надоело получать репорты об ошибках, ошибках специфичных и связанных с БД.
Поэтому, я рассматрю пару моментов с которыми я столкнулся на практике, чтобы предостеречь людей, которым только предстоит с этим разбираться, а дальше жду ваших комментариев на тему решения указанных проблем после чего внесу изменения в пост и мы сделаем отличный туториал, который будет образцом работы с SQLite в Android не только для начинающих, но и для тех, кто уже знаком с основами и написал простые приложения.
Читать дальше →

Подход к тестированию кода в реальной жизни. Часть вторая

Время на прочтение9 мин
Количество просмотров5.3K
Думаю, почти каждый сталкивался с таким мнением: писать тесты сложно, все примеры написания тестов даны для простейших случаев, а в реальной жизни они не работают. У меня же за последние годы сложилось впечатление, что писать тесты — это очень просто, даже тривиально. Продолжаю начатое в первой части.
Рад, что вы снова со мной!

И еще раз о тестах. Подход к тестированию кода в реальной жизни

Время на прочтение9 мин
Количество просмотров10K
Думаю, почти каждый сталкивался с таким мнением: писать тесты сложно, все примеры написания тестов даны для простейших случаев, а в реальной жизни они не работают. У меня же за последние годы сложилось впечатление, что писать тесты — это очень просто, даже тривиально*. Автор упомянутого выше комментария далее говорит, что неплохо было бы сделать пример сложного приложения и показать, как его тестировать. Попробую именно этим и заняться.

*)Писать сами тесты — действительно элементарно. Создать инфраструктуру, позволяющую легко писать тесты — чуть сложнее.

Впериот!

Hibernate Envers: аудирование операций

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

Зачем это надо?


В enterprise-разработке часто бывает необходимо отслеживать процесс редактирования каких-нибудь таблиц.
Скажем, завели у вас документ в системе. Потом кто-то поменял ему серию. Потом номер. Потом сменил тип с паспорта РФ на загран. паспорт Германии. Хотелось бы иметь возможность отследить историю изменений и, скажем, настучать по шапке пользователю, который совершил ошибку.

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

Dropbox – получаем 9GB за один час

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

Буквально пару дней назад я столкнулся той же проблемой, что и товарищ, приславший прошлую статью, а именно – как на халяву заиметь (да побольше) свободного пространства на Dropbox’e?
Лично мне, мое же решение кажется более изящным и практичным, а вам лишь остается сделать свой собственный выбор.
Читать дальше →

Как я боролся с Android NDK и NetBeans 6.8

Время на прочтение3 мин
Количество просмотров7.2K
image
В этом посте я хочу немного поделиться сыном ошибок трудных — опытом. По другому и не скажешь, потому что некоторые ошибки компиляции, сборки и т.п. съели очень много времени. Я не всякий раз докапывался до причин, хотелось побыстрее получить работающую математику. Но так или иначе мне удавалось находить или вычитывать правильное решение. Поэтому я просто хочу обратить внимание тех, кто будет идти тем же путем, на некоторые нюансы. Возможно это сэкономит вам какое-то время. В конце я приведу пример приложения, ради которого это все было нужно. Картинка из заголовка — это скрин приложения.
И так, задача у меня была следующая. Я написал приложение под андроид, которое оказалось очень требовательным к ресурсам. На «математику» (я имею в виду работу с контейнерами, вычисления и т.п.) уходило очень много времени. Для сравнения, консольное приложение на чистом С++, считало задачу в пределах 3 секунд. Тогда как Android-приложение на java, запущенное на эмуляторе, то же самое считало 2.5 минуты. Поэтому я решил алгоритмическую часть вынести на C++. Также хочу отметить что мне совсем не хотелось ставить Eclipse поэтому я боролся в том что было — NetBeans 6.8. Так что предположим, что у вас уже стоит SDK, NDK и NetBeans и пойдем дальше.
Читать дальше →

Использование Protocol Buffers на платформе .Net (Часть 1)

Время на прочтение11 мин
Количество просмотров44K
Предлагаю вашему вниманию введение в использование Protocol Buffers на платформе .Net в формате дискуссии. Я расскажу и покажу что это такое и зачем оно нужно .Net разработчику. Топик требует от читателя начального владения языком C# и системой контроля версий SVN. Так как объем материала превышает среднестатистический объем топиков на хабре, которые не вгоняют хаброюзеров в тоску и не заставляют их скроллить до комментариев, было принято решение разбить его на две части. В первой части мы познакомимся с основами и даже напишем (не)много кода!

Присоединиться к дискуссии.

О заменах в Vim, использующих регулярные выражения

Время на прочтение6 мин
Количество просмотров59K
Привет, хабр! Ни для кого не секрет, что старина Vim очень хорош для решения разнообразнейшего круга проблем. Я бы хотел немного пописать об одной из составляющих, которые делают наш любимый редактор настолько мощным, насколько мощным он является — об инструментарии замен, использующем регулярные выражения. Свое повествование я планирую построить, рассказывая о том, как я решал пару специфических задач, и дополняя этот рассказ некоторыми базовыми справочными сведениями.

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

Пишем первое приложение на Mono Android

Время на прочтение13 мин
Количество просмотров58K
Здравствуйте. В этой статье я бы хотел поделиться своим опытом создания приложений для мобильной платформы Android с использованием Mono и разобрать простой пример.

Для начала работы с Mono Android необходимо установить:
Читать дальше →

Новая система инициализации RHEL 6

Время на прочтение4 мин
Количество просмотров14K
Классическая схема инициализации System V, на которой базировались дистрибутивы RedHat Enterprise Linux до шестой версии, была привычной и довольно простой для понимания: init описывал весь процесс загрузки в своем конфигурационном файле "/etc/inittab", откуда вызывались другие программы и скрипты на определенном этапе запуска.
В RHEL 6 ситуация поменялась: на смену System V пришел Upstart, что несколько изменило процедуру конфигурации процесса загрузки операционной системы. Upstart, который изначально разрабатывался для Ubuntu, довольно неплохо вписался и в RedHat системы, заменив собой только часть привычной схемы запуска.
Тем не менее, изменения существенные и мало документированные, поэтому в этой статье я постараюсь внести ясность в новую схему загрузки, и что она привнесла.
Читать дальше →

Особенности синхронизации в Android-приложении

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

При разработке многих Android-приложений требуется организовать процесс синхронизации данных с данными на сервере. Есть два основных способа как данную синхронизацию можно реализовать.
Первый способ — классический (наиболее популярный и наиболее простой) — с помощью AlarmManager и Service. Например, как описано в этой статье.
Второй способ — «правильный» (но пока что, видимо, редко кем используемый) — с помощью SyncAdapter.

Разрабатывая своё приложение, изначально я попытался реализовать «правильный» (т.е. второй способ).
Читать дальше →

Принципы дизайна страниц оплаты для интернет-магазинов

Время на прочтение14 мин
Количество просмотров22K
Представляю вашему вниманию перевод статьи под названием "Fundamental Guidelines Of E-Commerce Checkout Design" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.


Грустная статистика систем электронной коммерции — согласно последним исследованиям, по крайней мере 59,8% потенциальных покупателей покидают сайт на этапе оформления заказа и его оплаты (у разных исследований разные показатели — от 59,8% у MarketingSherpa до 83% у SeeWhy).

Основной вопрос заключается в том, почему пользователи так часто и массово покидают свою корзину, не закончив оформление заказа? Причина заключена в какой-то фундаментальной ошибке дизайнеров, создающих интернет-магазины? А быть может есть какие-то формальные правила, которые усложняют жизнь простым пользователям и мешают им покупать продукты? Существует ли какая-то возможность улучшить ситуацию и повысить конверсию электронных магазинов?
Читать дальше →

Виджет со счетчиком непрочитанных сообщений

Время на прочтение5 мин
Количество просмотров14K
Часто встречающаяся задача — создание виджета со счетчиком непрочитанных сообщений/звонков и т.п. Однако в Android нет стандартного класса для создания таких виджетов.

image

Как же все-таки создать такой виджет?
Читать дальше →

Подборка генераторов CSS

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


Не секрет, что писать CSS для многих стандартных кнопок, макетов, etc. бывает весьма лениво. Ниже представлена подборка генераторов CSS (и не только), которая, возможно, в некоторых случаях сможет упростить кому-то жизнь. Многими генераторами можно успешно пользоваться даже без глубоких познаний CSS.

(Осторожно! Много картинок)
Читать дальше →

Spring Remoting — Spring + RMI

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

Spring framework предоставляет обширные возможности по созданию распределенных приложений. Он не только помогает создавать удаленные службы, но и упрощает доступ к ним. На данный момент в с помощью фреймворка можно организовывать удаленный доступ с помощью большого количества технологий — Caucho’s Hessian и Burlap, собственная реализация удаленного доступа через HTTP, RMI и т.д. Под катом краткий обзор возможностей фреймворка Spring для создания распределенных приложений с помощью RMI.

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

Widgets. Custom fonts

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

Разработка виджета немного отличается от разработки activity, и вот это «немного» иногда ставит палки в колеса. Подробно расписывать разработку виджета я не буду, на Хабре уже есть несколько замечательных постов на эту тему (например, Hello World widget для Android или вообще такая вот шпаргалка, Создание Виджета), остановлюсь лишь на особенностях.
Читать дальше →

Информация

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