Pull to refresh
16
0
Данил Терновых @palmut

User

Send message

Работа с потоковым аудио

Reading time5 min
Views39K

Введение


За получение необработанных данных (raw data) с микрофона отвечает класс android.media.AudioRecord. Он записывает данные во внутренний буфер, из которого мы должны периодически их забирать.
Читать дальше →
Total votes 30: ↑24 and ↓6+18
Comments9

Пристальный взгляд на шаблоны мобильных интерфейсов

Reading time5 min
Views6.1K


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

Эти 70 шаблонов проиллюстрированы сотнями примеров приложений для операционных систем Apple, BlackBerry, Android, Symbian, Windows и WebOS будут изданы O’Reilly Media как «Mobile Design Pattern Gallery». Ниже приведена одна из моих любимых глав — Приглашение.

* Не смотря на то, что эти шаблоны ориентированы на разработку мобильных приложений, они так же могут быть использованы при работе над мобильным веб-сайтом.
Читать дальше →
Total votes 76: ↑68 and ↓8+60
Comments16

Widgets. Custom fonts

Reading time3 min
Views10K
Столкнулся с ситуацией, когда было необходимо в виджете, на экране андофона, отобразить текст красивым нестандартным шрифтом. С того момента и начался сей пост.

Разработка виджета немного отличается от разработки activity, и вот это «немного» иногда ставит палки в колеса. Подробно расписывать разработку виджета я не буду, на Хабре уже есть несколько замечательных постов на эту тему (например, Hello World widget для Android или вообще такая вот шпаргалка, Создание Виджета), остановлюсь лишь на особенностях.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments15

Оценка сложности алгоритмов

Reading time6 min
Views626K
Не так давно мне предложили вести курс основ теории алгоритмов в одном московском лицее. Я, конечно, с удовольствием согласился. В понедельник была первая лекция на которой я постарался объяснить ребятам методы оценки сложности алгоритмов. Я думаю, что некоторым читателям Хабра эта информация тоже может оказаться полезной, или по крайней мере интересной.
Читать дальше →
Total votes 84: ↑72 and ↓12+60
Comments66

Как Google тестирует ПО

Reading time9 min
Views40K
Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Читать дальше →
Total votes 224: ↑217 and ↓7+210
Comments52

Валидаторы ввода под Android

Reading time3 min
Views8.9K
Validation
Не так давно мне понадобилось добавить в андроид-приложение валидаторы для полей ввода (EditText), но ничего подходящего в сети не нашлось: пришлось писать свои собственные. Теперь, когда все готово, можно раздать результаты всем желающим под Apache лицензией и немного рассказать, как все устроено. Тех, кому интересно,
прошу под кат
Total votes 47: ↑41 and ↓6+35
Comments11

Улучшенный Android NDK (Native Development Kit)

Reading time5 min
Views34K
Долгое время занимаясь разработкой под Android, я постепенно пришел к выводу, что многих вещей мне, как разработчику, сильно не хватает. Тогда, в начале 2010-го, не хватало только C++ exceptions и RTTI. Без них любой нетривиальный C++ код просто не мог быть портирован на Android и требовал практически полного переписывания. Это было очень существенное ограничение, которое никак не давало мне покоя. К счастью, Android — это open source, поэтому, вооружившись максимой «если тебе что-то нужно, сделай это сам», я засел за работу. К моему удивлению, сделать поддержку полноценного C++ с исключениями и RTTI оказалось довольно несложно. Потребовалось всего около недели работы. Далее был сделан сайт, на который и были выложены получившиеся пакеты для Windows, Linux и Mac OS X, а также патч и инструкция по сборке.

Читать дальше →
Total votes 182: ↑177 and ↓5+172
Comments58

Простой шаринг c Facebook и Twitter

Reading time6 min
Views28K
    Сейчас трудно встретить сайт без кнопки «Share» (Я уже не говорю про «Like»): это быстрый и удобный способ поделиться интересной информацией с друзьями и недругами через всевозможные социальные сети. Эту же «кнопку» можно использовать и в своем Android-приложении. При этом не обязательно, чтобы приложение представляло из себя клиент Facebook'а: можно просто предоставить пользователю возможность послать себе на стенку простое сообщение, типа «Я использую Android Yorshik! Попробуй и ты!» Ну это гипотетически.
    А на деле в последнем проекте мне пришлось обеспечить пользователю возможность отравлять сообщения (и картинки) на Facebook и в Twitter о своем прогрессе, и конечно же и тут не обошлось без подводных камней (куда ж без них). Перед написанием статьи Я решил вычленить часть кода, отвечающую за шаринг, в отдельный компонент, для демонстрации работы с Facebook API и Twitter API. Но потом Остапа понесло, и в результате получился реюзабельный инструмент для простого шаринга в Facebook и Twitter (а в перспективе и в другие соцсети). Под «простым шарингом» Я подразумеваю возможность только послать сообщение или картинку. Никаких «зафрендить» или «ретвитнуть» простой шаринг не предполагает. Простой функциональности — простой интерфейс! Я попытался скрыть все сложности работы с API за красивым фасадом. Но об этом далее…
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments12

Обзор свежих материалов, сентябрь 2011

Reading time6 min
Views1.3K
Этот материал продолжает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-август 2011.

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


Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments12

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

Reading time6 min
Views67K

Введение


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

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

Порт SoX для Android или попытка создать идеальный плеер

Reading time4 min
Views8K
Здравствуй, Хабраюзер!

Несколько месяцев назад у меня появилась идея создания плеера под Android с огромным количеством эффектов. Единственным на то время (не знаю как сейчас:) плеером, с хоть какой-то обработкой звука, был PowerAMP, но количество аудио-эффектов в нем было мягко говоря скудным. Я попробовал реализовать эту идею. Из этого мало что вышло, но то, что получилось я расскажу в этом топике. Итак, кого заинтересовало, прошу под кат.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments44

USSD в Android

Reading time4 min
Views35K
USSD (Unstructured Supplementary Service Data)— стандартный сервис в сетях GSM, позволяющий организовать интерактивное взаимодействие между абонентом сети и сервисным приложением в режиме передачи коротких сообщений.
Как известно, Android не имеет API для чтения USSD сообщений, далее я расскажу как решить эту проблему.
Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments42

Google Docs для Android — развитие шаблонов UI

Reading time2 min
Views2.1K
Послужной список Гугл в области приложений для Андроида не самый лучший. В большинстве официальных приложений интерфейс не слишком хорош. Но пару дней назад нас ждал приятный сюрприз — новое приложение для Google Docs. И хотя функционально оно не полное, визуальная часть отполирована до блеска.

Приложение дает нам возможность взглянуть на новый стиль приложений Гугл для Андроида. Они взяли многие из существующих шаблонов проектирования и сделали им «подтяжку». Не удивлюсь, если это приложение будет в качестве референсного на предстоящем Google I/O. Я надеюсь мы увидим код этого приложения или хотя бы его UI слой открытым в ближаешее время.

Рассмотрим UI этого приложения.

Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments17

Sliding экранов внутри приложения

Reading time6 min
Views54K


Здравствуйте!

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

Примером таких решений является переключение между рабочими экранами в Android, где для перемещения от одного экрана к другому достаточно выполнить жест вправо или влево. О возможной реализации подобного решения и пойдет речь в данном посте.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments33

Сборка open-source библиотек на Android NDK

Reading time5 min
Views19K
Привет, Хабралюди!

В процессе работы с Android NDK я столкнулся с проблемой сборки уже существующих Linux библиотек на Android NDK. Так как материала не слишком много в этой статье поделюсь своим опытом. В Андроиде я новичек, так что если найдете ошибки — пишите:)

Чтобы пример был не самым простым и при том полезным — возьмём библиотеку libFLAC. Этот даст возможность декодировать .flac файлы. По данному мануалу, я надеюсь, соберутся большинство других библиотек.
Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments7

Быстрая сборка С++ библиотек под Андроид

Reading time2 min
Views9.7K
Привет хабрасообщество!

Многие задают вопрос: «У нас есть куча библиотек на С++, которые мы хотим собрать под Андроид. Как это сделать?». Ниже по шагам описан возможно самый простой способ это сделать.

Читать дальше →
Total votes 46: ↑36 and ↓10+26
Comments8

Создаём модульное приложение

Reading time3 min
Views7.6K
Вы захотели сделать браузер с плагинами, программу с темами, игру с аддонами или какое-то другое модульное приложение для Android? Но как это сделать? Я расскажу, как сделать простое приложение, которое будет получать текст от модулей.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments11

Процессы и потоки в Android: пишем AsyncTask правильно

Reading time7 min
Views122K
Продолжаю свои повествования об Android. И в этот раз хочу поделиться ценной информацией о процессах и потоках, которая должна быть хорошо усвоена и всегда оставаться под рукой во избежании ошибок и недопонимания при написании приложений. В конце статьи приведу пример реализации AsyncTask, который загружает в ImageView картинку по нажатию на кнопку.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments27

Иконифицированное окно настроек (Preferences)

Reading time4 min
Views6.3K
Все видели настройки в Android аппаратах — меню с иконками. Это стандартный PreferencesActivity, только вот стандартными функциями Андроида такого эффекта достичь невозможно.
Что бы получить такой внешний вид, используем код, позаимствованный из системного приложения Settings.apk, благо open-source это позволяет сделать.



И так, нам понадобится:
1. Класс IconPreferenceScreen.java;
2. Файл attrs.xml в папке values;
3. Лэйаут preference_icon.xml;
4. Свой класс PreferencesActivity.java;
5. Файл с настройками приложения preferences.xml

Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments16

Смена языка приложения в настройках

Reading time3 min
Views123K
В системе Android очень удобная для использования система локализации, достаточно создать папку и в ней файл со строками. Но в приложение сложно встроить все возможные языки, и не плохо бы предоставить пользователю выбор языка, отличного от стандартного.
Приведу пример такой ситуации:
В приложении есть 2 языка стандартный английский и русский. Это приложение решил установить украинец, у которого аппарат на украинском языке, но так же он хорошо знает русский, а английский не очень. Но вот Андроид, обнаружив, что в приложении нет украинского языка, запустит приложение со стандартным языком, который в нашей ситуации — английский, а для того, что бы приложение запустить на русском, необходимо менять язык системы, что не очень хорошо.
Вот для этой и многих подобных ситуаций есть решение, в настройки вывести пункт выбора языка, который включает автоматический выбор языка, английский, русский, etc. (смотря какие требуются).

Читать дальше →
Total votes 51: ↑40 and ↓11+29
Comments42

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity