Обновить
128K+

Android *

Пишем под самую популярную мобильную ОС

146,94
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Тестирование поведения приложения в условиях нехватки памяти

Время на прочтение2 мин
Охват и читатели7.6K
В android мы можем перехватить событие low memory для нашего приложения или активити, путем установки им через registerComponentCallbacks в качестве обрабочика наследника от интерфейса ComponentCallbacks переопределив ему метод onLowMemory.

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

Так же система гарантирует что после вызова onLowMemory будет вызвана системная сборка мусора (garbage collector)

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

И есть и второй способ — изменить данный лимит, о чем собственно и речь пойдет ниже.
Читать дальше →

Как воспользоваться вебкамерой в эмуляторе Android

Время на прочтение8 мин
Охват и читатели32K

Многие разработчики, особенно начинающие, пользуются эмулятором Android для создания своих приложений. Это позволяет делать очень многое без подключения телефона. Почти всё. Вот именно это «почти» и относится, например, к вебкамере. Для большинства приложений может быть и достаточно будет такого вида, ведь можно передать «нужное» изображение на обработчик, а окончательно протестировать уже на реальном устройстве. Для приложений которые работают с дополненой реальностью так работать будет совсем не удобно. Хотелось бы иметь видеопоток. В случае если телефона с андроидом под рукой нет — это проблема.
В прошлой заметке я писал о том, как работают методы распознавания маркера дополненой реальности. Данная статья будет посвящена тому, как воспользоваться вебкамерой в эмуляторе Android.
Читать дальше →

Установка Cyanogenmod 7 на HTC Wildfire

Время на прочтение3 мин
Охват и читатели25K
Сейчас речь пойдет об установке Cyanogenmod 7.1 на HTC Wildfire.
Подтолкнул меня на это непреодолимый интерес и желание получить от Валдфаира большего.
-Удалось?
-Да, удалось.

Оговорюсь сразу, делать обзор на Cyanogen я не буду. Уже есть готовые велосипеды: раз, два. Также я хочу разочаровать тех, кто думает после перепрошивки они получат «мультимедийный суперфон». Это не так. Иллюстрация прилагается:image

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

Подробный процесс с картинками под катом.
Читать дальше →

Упаковка Python-программы в формат APK

Время на прочтение1 мин
Охват и читатели73K
На Хабре неоднократно обсуждалось использование SL4A (Android Scripting) — интерпретатора, который запускает под Android скрипты на Python, Perl, JRuby, JS, PHP и др. Однако, чтобы эти скрипты заработали, нужно установить на телефон SL4A. Ещё один недостаток — вы не можете упаковать приложение в формат .apk.

Разработчики из компании Kivy сделали удобный инструмент, который помогает создать готовый .apk с всеми необходимыми модулями и библиотеками Python и вашим приложением внутри. Для создания GUI используется OpenGL ES 2.0.

См. Python for Android на github, там же есть инструкция по созданию дистрибутива Python и компиляции APK на его основе.

Похожий проект: PGS4A.

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

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

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

Поиграем в снежки?

Время на прочтение1 мин
Охват и читатели1.6K
Случайно обнаружил, что на сайте http://www.android.com/ встроена игра. Заходите на страницу, прокручиваете вниз до конца и наводите курсор на зеленого человечка (рядом с копирайтом). При этом у него в руках можно заметить слепленный снежок. Щелкаем и у нас запускается игра!
Читать дальше →

В Android Market — более 400 тыс. приложений

Время на прочтение1 мин
Охват и читатели1.9K


При появлении Android ОС не так много людей верили, что эта мобильная платформа станет популярной. Больше было скептиков, считающих, что если Андроид и не погибнет в скором времени, то станет нишевой мобильной операционной системой. Собственно, то же говорили и скептики при появлении браузера от Google. Но Android стал чрезвычайно популярной операционной системой, и это доказывает не только количество мобильных устройство на основе данной ОС, но и то, что количество приложений в Android Market превысило уже 400 тысяч.

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

Android Ice Cream Sandwich на планшетах

Время на прочтение1 мин
Охват и читатели1.9K
Как выглядит Ice Cream Sandwich на телефонах мы уже видели на примере Galaxy Nexus и некоторых кастомных прошивок. Нам стало интересно, как ICS Будет выглядеть и вести себя на планшетах. В итоге получился небольшой ролик.



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

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

Время на прочтение6 мин
Охват и читатели28K
    Сейчас трудно встретить сайт без кнопки «Share» (Я уже не говорю про «Like»): это быстрый и удобный способ поделиться интересной информацией с друзьями и недругами через всевозможные социальные сети. Эту же «кнопку» можно использовать и в своем Android-приложении. При этом не обязательно, чтобы приложение представляло из себя клиент Facebook'а: можно просто предоставить пользователю возможность послать себе на стенку простое сообщение, типа «Я использую Android Yorshik! Попробуй и ты!» Ну это гипотетически.
    А на деле в последнем проекте мне пришлось обеспечить пользователю возможность отравлять сообщения (и картинки) на Facebook и в Twitter о своем прогрессе, и конечно же и тут не обошлось без подводных камней (куда ж без них). Перед написанием статьи Я решил вычленить часть кода, отвечающую за шаринг, в отдельный компонент, для демонстрации работы с Facebook API и Twitter API. Но потом Остапа понесло, и в результате получился реюзабельный инструмент для простого шаринга в Facebook и Twitter (а в перспективе и в другие соцсети). Под «простым шарингом» Я подразумеваю возможность только послать сообщение или картинку. Никаких «зафрендить» или «ретвитнуть» простой шаринг не предполагает. Простой функциональности — простой интерфейс! Я попытался скрыть все сложности работы с API за красивым фасадом. Но об этом далее…
Читать дальше →

XMPP-SMS шлюз на Android

Время на прочтение11 мин
Охват и читатели21K


Введение

Причиной написания данной статьи послужила необходимость создания программы для системы Android, с помощью которой можно отправлять данные заказа в виде SMS сообщений владельцам интернет магазинов о том, что был совершен заказ товаров или услуг. Ранее мною использовалась система включающая GSM-модем и программу написанную на языке С++, использовавшая AT-команды для общения с модемом и библиотеку gloox для получения сообщений по протоколу XMPP, на стороне web-сайта использовалась библиотека xmpphp, для отправки данных заказа. При такой схеме приходилось держать включенным компьютер постоянно, так как система приема заказов работала круглосуточно, соответственно отсюда дополнительный расход электроэнергии, шум от вентиляторов ночью и постоянный контроль интернет соединения.
Читать дальше →

System Enhancement (6,34 мегабайта) для HTC Desire

Время на прочтение1 мин
Охват и читатели845
Сегодня, 1 января нового (2012) года, мой HTC Desire (на который я не уcтанавливал августовское обновление системы до Android 2.3, предлагаемое на HTCdev) сообщил о появлении нового улучшения системы (System Enhancement) и предложил скачать да установить его.

Размер предлагавшегося пакета составлял всего-навсего 6,34 мегабайта — по вайфаю он скачивается за несколько секунд — так что я согласился.

После установки телефон порадовал меня известием об успешном обновлении до версии 2.29.405.14. (Версия Android равна 2.2.2, версия ядра — 2.6.32.15-gf5a401c.)

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

Баги какие-нибудь исправили, небось, да и всё.

Определение свободного ПО… отсутствует

Время на прочтение1 мин
Охват и читатели535
MG Siegler пишет, что вице-президент Google по разработке Энди Рубин удалил свой самый знаменитый первый твит, в котором он дал определение свободного ПО, отвечая на обвинения Стива Джобса в октябре 2010 года.

Сохраним скриншот для истории.

Копия в кэше Google.

the definition of open: "mkdir android; cd android; repo init -u git://android.git.kernel.org/platform/manifest.git; repo sync; make"

В переводе на русский язык команды для инсталляции Android под Linux должны означать, что каждый человек может легко установить, хакнуть и создать собственную версию Android. Именно эти команды, по мнению Энди Рубина, являются определением свободы.

Теперь первое сообщение в твиттере Энди Рубина датируется декабрём 2010 года и посвящено количеству активаций Android.

UPD: Как выяснилось, Энди Рубин не удалял твит, тот просто был случайно удалён из-за технических проблем сервиса Twitter и восстановлен через пару дней.

Ice Cream Sandwich запустили на Kindle Fire

Время на прочтение1 мин
Охват и читатели1.4K
Экстра-популярный и самый успешный продукт на Amazon, который, если верить самой компании, раскупается как горячие пирожки и вполне может составить конкуренцию iPad, и работающий на кастомизированной Android 2.3, по всей видимости, благодаря энтузиастам получит возможность работать на последней версии мобильной платформы от Google.

Разработчик JackpotClavin выпустил свой ранний «билд» Android 4.0 для Kindle Fire, который основан на CyanogenMod 9 и которому пока требуется, конечно, доработка. Основной проблемой — энтузиасты уже подключились к её решению — JackpotClavin называет некоторые проблемы при чтении/записи данных на SD-карту.

На видео видно, как без заметных лагов Android 4.0 уже работает на Kindle Fire.



Можно с уверенностью сказать, что работающая последняя версия Android 4.0, на которую отказалась обновлять свои топовые планшеты Samsung, вкупе с привлекательной ценой на Kindle Fire действительно могут сделать из устройства более чем успешный продукт.

[Источник]

Ближайшие события

Выбор Pull To Refresh инструмента

Время на прочтение5 мин
Охват и читатели23K
    Недавно столкнулся с проблемой внедрения в проект механизма Pull To Refresh для обновления списков. Ввиду специфичности имеющихся списков (списки разной длины, от 0 до ~100; подгрузка элементов по требованию; набор списков располагается в самописном компоненте, аля ViewPager) это действительно оказалось проблематично. О всех моих изысканиях в данном направлении читайте под катом.
Читать дальше →

У Android-флагмана Galaxy Nexus обнаружены проблемы с мультитачем

Время на прочтение1 мин
Охват и читатели3.5K
У нового гуглофона Galaxy Nexus, выпускаемого компанией Samsung, обнаружены проблемы с мультитачем. Если перевести экран в горизонтальное положение (что чаще используется в играх) и коснуться экрана слева, то правая часть экрана либо перестанет реагировать на касания, либо станет регулярно терять «контакт».



Как утверждает автор видео, проблема может быть временно устранена, если заблокировать и разблокировать телефон. О распространенности проблемы пока не известно. Вероятнее всего вопрос имеет софтверное решение и будет устранен при обновлении.

Gigabyte Gsmart G1345 — двухсимочный смартфон на базе Android 2.3

Время на прочтение6 мин
Охват и читатели25K
Чуть ранее я уже выкладывал обзор двух подобных аппаратов, в том числе — Gigabyte Gsmart G1310. Можно считать, что 1345 — это работа над ошибками для Gigabyte.

image
Давайте оценим, насколько она им удалась.

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

Предварительный обзор планшета Samsung Galaxy Tab 7.7 или «надо же, мой любимый размер» ;-)

Время на прочтение2 мин
Охват и читатели4K
Благодаря милости компании Samsung в мои руки попал тестовый образец их нового планшета Samsung Galaxy Tab размером 7.7 дюймов. Планшет пока не доступен в продаже (по крайней мере в Украине) и планируется на первый квартал следующего года.
Выглядит сей девайс очень приятно — из всех самсунговских планшетов мне он полюбился больше всего:
(фото официальное, мои фото ниже)
image
Читать дальше →

TextSecure: безопасный обмен сообщениями на Android

Время на прочтение1 мин
Охват и читатели4.9K
Компания Whisper Systems выпускает различные корпоративные приложения для Android-устройств, в том числе систему тотальной криптографической защиты информации в памяти смартфона и в бэкапах, файрвол для сетевых соединений. Компания имеет в своём арсенале разработку, которая больше ориентирована на обычных пользователей: это утилита TextSecure. Она становится на место стандартной программы Android OS для обмена сообщениями и обеспечивает сквозное шифрование всей информации. Если программа только у вас, то зашифровывается локальное хранилище сообщений. Если TextSecure установлен также у получателя, то сообщения передаются в зашифрованном виде по сети.

Вчера компания вышла на новый уровень, выложив исходные коды TextSecure на github под лицензией GPLv3.

TextSecure в Android Market: org.thoughtcrime.securesms

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

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

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

Каждый день активируется более 700 000 Android-устройств

Время на прочтение1 мин
Охват и читатели1.2K
28 июня Энди Рубин из компании Google объявил, что количество активаций Android-устройств перевалило за полмиллиона в день. Сегодня он сообщил, что это число выросло до 700 000. Это означает более 29 166 активаций в час, 486 активаций в минуту или 8 активаций в секунду.

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

Число абонентов сотовой связи в мире составляет около 4,6 млрд. Если каждый девятый будет раз в два года менять свой Android-телефон на новую модель — мы и получим 700 тыс. активаций в день.