Pull to refresh
20
0
Vitaly Gashock @gshock

User

Send message

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

Reading time5 min
Views39K

Введение


За получение необработанных данных (raw data) с микрофона отвечает класс android.media.AudioRecord. Он записывает данные во внутренний буфер, из которого мы должны периодически их забирать.
Читать дальше →

Оптимизация расхода батареи

Reading time5 min
Views23K
image

Введение


В этой статье приводится несколько советов по оптимизации расхода батареи приложениями.
Отключая фоновые сервисы обновлений при потере соединения или уменьшая частоту обновлений при низком уровне заряда батареи можно существенно минимизировать влияние работы приложения на батарею.
Некоторые фоновые сервисы (загрузка из сети обновлений или контента приложения, сложные расчеты и т.д.) целесообразно отключать или снижать частоту их запуска при низком уровне заряда батареи. Для подобных действий важно принимать во внимание несколько факторов, как, например, текущее состояние зарядки устройства, наличие подключенной док-станции или наличие соединения с сетью. Ниже представлены способы получения этих значений и мониторинга их изменений.
Читать дальше →

Тёмная сторона ContentProvider'ов

Reading time2 min
Views13K
ContentProvider — класс Android для обмена данными между приложениями. Именно так и написано в явадоках: A content provider is only required if you need to share data between multiple applications. Но кто же читает документацию, пока всё работает? Очевидно, только тот, кто набил достаточно шишек, наступая на всевозможные грабли.

Итак, в этой заметке я хотел бы поделиться своим негативным опытом использования ContentProvider'ов в качестве источника данных внутри приложения. Почему же собственно их использование для доступа к данным внутри программы неоправданно?
Читать дальше →

Мобильная разработка с Corona SDK

Reading time5 min
Views32K
Здравствуйте!

Захотелось поделится своим опытом работы с Corona SDK — средством кроссплатформенной разработки для Android/iOS от Ansca Mobile (основатели компании в прошлом работали в Adobe над Flash Lite). Статей здесь про него не так много, хотя движок один из самых популярных и не без причины. Corona SDK предназначен прежде всего для разработки игр, но нем можно писать и бизнес-приложения — для этого в движке есть набор UI-компонентов со сменными стилями. Главным преимуществом движка является значительное увеличение скорости разработки для опытных программистов, а также снижение технического барьера для новичков в мобильном gamedev’е. Продолжение под катом…
Читать дальше →

«Мамба» запустила собственную платформу для игр и приложений

Reading time2 min
Views8.2K
Платформа Единой системы знакомств и общения — это принципиально новый шаг на рынке социальных игр и приложений. Механика приложений заметно отличается от всех существующих. «Мамба» как никто другой разбирается в знакомствах, именно поэтому основное требование для всех разработок платформы — возможность дейтинга в процессе игры. Сейчас в системе запущены три игровых приложения с интересным сюжетом и системой общения с противоположным полом. Например, «фермерская» тема обыграна соседством с «интернет-земледельцами», с которыми можно построить не только совместный завод, но и романтические отношения.

Проектируя платформу с технической точки зрения, «Мамба» постаралась учесть недочеты, допущенные в разработках крупных социальных сетей. Кроме этого, в наборе методов представлен уникальный функционал поиска пользователей по многочисленным критериям.

Однако, самое весомое достоинство нового проекта «Мамбы» состоит в уникальном предложении по разделению доходов. Лидер российских знакомств готов отдавать разработчикам 90% своего заработка на приложениях. Это позволит привлечь к сотрудничеству лидеров игрового рынка и уже в скором времени наполнить систему новыми, качественными и интересными механиками знакомств.

Исполнительный директор компании «Мамба» Ярослав Сергеев комментирует: «Проделана большая работа для того, что наши пользователи могли знакомиться еще проще и еще интереснее. Теперь над нашим сервисом кроме внутренней команды разработки будут трудиться сотни внешних компаний, что существенно обогатит функционал системы. Мы планируем обеспечить им максимально комфортные условия сотрудничества и энергично развивать технологическую составляющую платформы».

Информация для разработчиков:

Оферта
Правила размещения приложений
Описание работы с API
Cписок методов API

Работающий Pull to refresh

Reading time3 min
Views13K
Это рассказ о том, как получилась работающая реализация Pull to refresh под Android. Совсем не будет примеров кода. Немного картинок и в конце статьи ссылка на архив проекта.

Недавно встала необходимость встроить в текущее приложение Pull to refresh. Это сейчас модно, пользователи привыкли, и для твиттер-клиентов уже стало стандартом. Поиск готовых решений в сети вывел на единственный вариант — open-source проект Johan Nilsson android-pulltorefresh на Github.



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

Использование паттерна mediator для переключения между activity

Reading time3 min
Views7.8K


В простейшем случае для запуска Activity в Android нужно создать Intent c указанием класса вызываемого activity и Bundle из параметров. И всё хорошо, пока у нас в приложении пара экранов. Сложности начинаются тогда, когда количество экранов в нашем приложении будет исчисляться десятками. В данной статье я бы хотел предложить относительно несложный способ организации работы с большим количеством Activity.
Читать дальше →

Реализация ProgressDialog и AsyncTaskLoader на фрагментах

Reading time6 min
Views15K
На Хабре уже опубликована хорошая статья в которой описано совместное использование ProgressDialog и AsyncTask, здесь я опишу, как добиться похожего функционала но на фрагментах, точнее используя DialogFragment и AsyncTaskLoader.

Итак, цель:
  • отображать ProgressDialog при выполнении длительной операции, текст сообщения которого может информировать о ходе выполнения задачи;
  • корректная поддержка смены ориентации приложением.

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

Еще один способ синхронизации потоков

Reading time4 min
Views3.4K
В этом топике рассматривается еще один способ синхронизации потоков с использованием Intent, BroadcastReceiver и Handler. Метод этот может показаться очень громоздким, но тем не менее вполне удобным, особенно если в приложении используется достаточно много ассинхронных потоков. Например, если реализуется сервис, который общается с вебсервисом в фоновом режиме. Еще один пример – приложение, которое портируется сразу на несколько платформ и большую часть кода работы с API можно совместно использовать и в Android, и в J2ME, и в Windows Phone 7.

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

Блеск и нищета GWT (или почему я не верю в Dart часть 2)

Reading time6 min
Views11K
Одной из самых обсуждаемых тем на Хабре стало объявление Гугла о создании нового языка Dart, претендующего на то, чтобы полностью заменить Javascript.
Для Гугла это не первый проект подобного рода. С 2006 года существует Google Web Toolkit, позволяющий создавать веб-приложения полностью на Java. На нём, например, работают Adwords и Google Wave.
Но, не смотря на красивые обещания и очень серьезные, особенно по меркам 2006 года, возможности, GWT так и «не взлетел». Да, проект поддерживается и развивается, но сообщество разработчиков так и не сложилось. Сторонних компонентов мало, они не поддерживаются, знакомых с системой программистов найти сложно.
Практически все «плюшки» языка Dart, которые сейчас рекламирует Google, уже были реализованы в Webtoolkit-е. В этой статье я хочу проанализировать достоинства и недостатки GWT в попытке рассмотреть мутные очертания будущего Dart.
Читать дальше →

Книги, видео и другие материалы по разработке под iOS

Reading time4 min
Views114K
«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка


Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.

Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Читать дальше →

Фоновая подгрузка списков

Reading time2 min
Views11K
При загрузке больших списков из медленного источника (например HTTP запрос) нет смысла загружать весь список сразу, особенно если пользователю потребуется лишь небольшое количество данных (результаты поиска, новостные статьи). В этом случае целесообразно реализовать постраничную подгрузку списка. В этой статье показан простой способ с использованием footer view контрола ListView. Подразумевается, что у нас уже есть список и его адаптер, который загружает элементы (пусть несколько первых, или весь) используя например ассинхронный HTTP запрос. Удобнее вынести запрос данных в отдельный класс, в котором добавить возможность подгрузки очередной страницы.

План действий


  1. Подготавливаем layout для элемента сообщения о процессе загрузки
  2. Подготавливаем контрол ListView
  3. Добавляем в адаптер списка код запуска загрузки следующей страницы
  4. Обрабатываем результат загрузки очередной страницы

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

Новый курс по разработке под Windows Phone, обновление центра Windows Phone и все-все-все …

Reading time3 min
Views4K


Каждый раз, когда я собираюсь писать статью, особенно если она часть курса, я пытаюсь понять, кому она будет нужна и как её будут использовать. И когда коллеги предложили мне взяться за написание небольшого вводного курса по разработке под Windows Phone, первое, что я сделал, я просмотрел все доступные материалы претендующие на роль обучающего курса или книги. Несмотря на то, что платформа Windows Phone достаточно молодая, материалов по ней, как русскоязычных так и англоязычных великое множество.
Читать дальше →

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

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

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

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

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

Пишем виджет, использующий API Яндекс.Метрики

Reading time10 min
Views13K
Не так давно Яндекс.Метрика анонсировала открытый API, с помощью которого можно получить доступ практически ко всем функциям Метрики из собственной программы.
Сегодня я хочу немного рассказать об использовании этого API и о том, как на его основе создать простой widget для Android-устройств.

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

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

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

Разработка производительных приложений

Reading time9 min
Views5.7K

Производительные приложения



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

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

Приложение для поиска работы и информации о компаниях (для Windows Phone 7)

Reading time2 min
Views602
image

Поиск работы — для кого-то процесс простой, для кого-то — сложный. Но быть в курсе происходящего на рынке труда желательно всем. Именно для этих целей мы создали базу компаний (преимущественно, из Украины) для более легкой навигации и поиска подходящих вакансий.

Цель приложения: предоставить возможность поиска IT-компаний, а также информации (адреса, телефоны, вакансии, ссылки на социальные сети).

Приложение будет распространятся бесплатно, но мы надеемся на интерес со стороны компаний для публикаций рекомендованных вакансий и предложений.

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

Написание сложных интерфейсов с Backbone.js

Reading time13 min
Views100K
image

Backbone.js это каркас для создания RIA JavaScript приложений, его автором является Jeremy Ashkenas, создатель CoffeeScript, Backbone является частью компании Document Cloud ей же «принадлежит» Underscrore.js. Backbone — очень легкая библиотека, помогающая вам создавать интерфейсы. Она может работать с любыми библиотеками, к которым вы привыкли.
Backbone это набор классов, размером менее 4Кб, которые формируют структуру вашего кода и помогают создавать качественные MVC веб-приложения.
Backbone формирует структуру тяжелых JavaScript приложений, внесением моделей с key-value подобным хранилищем и своими событиями, коллекций с богатыми API, видов (ориг. views) с декларативной обработкой событий и соединяет все это в в одно приложение, поддерживающее RESTful JSON интерфейс.

Backbone не может работать без Underscore.js. Для поддержки REST API и работы с DOM элементами в Backbone.View настоятельно рекомендуется подключить json2.js и jQuery-подобную библиотеку: jQuery или Zepto

В статье будет рассмотрена структура Backbone.js, будет поэтапно создано простое Todo приложение.
Читать дальше →

Кастомизация виджета Action Bar

Reading time4 min
Views28K
imageСтатья является переводом топика из блога android-developers. В ней показывается, как стилизовать виджет Action Bar нужным вам образом. В качестве примера рассматривается изменение оформления виджета под общую цветовую гамму вышеописанного блога.
Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity