Обновить
128K+

Android *

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

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

Создание композитных компонентов на Android

Время на прочтение8 мин
Охват и читатели40K
Приветствую всех Хабра-жителей и Андроид-ценителей!
Композитный в нашем случае означает «состоящий из нескольких», но вы это и так знаете.
Итак, есть Задача:
  • Необходимо вывести блок данных, включающий в себя текст, картинки, кнопки и т.д.
    (В нашем случае это будет короткий анонс передачи по ТВ)
  • дизайн блока нарисован специально нанятым дизайнером и вам нельзя отсупать от него ни на пиксель
  • Это блок может иметь какую-то внутреннюю логику работы и компоненты могут влиять друг на друга (у нас «внутренней логикой», будет установка символа "*" в заголовок передачи и смена цвета фона если была нажата кнопка «Буду смотреть»)
  • Таких блоков может быть много и информация для них получается уже в процессе работы приложения
  • как всегда, в процессе работы, дизайн может быть пересмотрен, и вам надо быстро внести изменения в программу не переписывая все с самого начала


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

Android: Вращаем на все четыре стороны AndEngine

Время на прочтение3 мин
Охват и читатели7.8K
Однажды мне пришлось решать задачу — запускать четыре разные игры написанные на andengine в зависимости от ориентации экрана. Обычные положения — landscape и portrait вопросов не вызывали. Вопросы возникли для остальных положений — противоположных для указанных. Четыре варианта переворота устройства. Пришлось обратиться к работе с сенсорами. Указанный ниже подход применим не только к AndEngine, но и к обычным Activity.
Читать дальше...

От любви до ненависти один push

Время на прочтение4 мин
Охват и читатели19K
 — Ты не знаешь откуда у меня появляются эти уведомления? — обернувшись спросила Наташа, протягивая свой desire? Я бросил взгляд на трей уведомлений, где лицезрел совершенно незнакомую мне иконку и текст пирблизительно следующего содержания «Лучшие игры онлайн! Бесплатно скачать», после чего текст уходил за отведенные ему 480 px и скрывал дальнейшую суть предложения.

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

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

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

Разработка для Android: Добавляем текст на ProgressBar

Время на прочтение4 мин
Охват и читатели11K
Стандартный ProgressBar, как известно, является индикатором выполнения длительных процессов. Однако, его часто используют для наглядного отображения численных величин. К сожалению, этот элемент не поддерживает метода setText(), чтобы поместить на него надпись, поясняющую показываемую величину, что значительно экономило бы экранное пространство. Вспомните адресную строку в стандартном браузере, где позади URI отображается зелёная шкала, отображающая ход загрузки страницы. Как же реализовать такое поведение?
Под катом — один из вариантов решения этой задачи.
Читать дальше →

Apple vs Android: покажите мне инновации!

Время на прочтение2 мин
Охват и читатели9.2K
“Мы видим взрывной рост Android-устройств, а конкуренты предпочитают реагировать на это судебными тяжбами, т.к. не могут ответить инновациями”, — сказал Эрик Шмидт на Google Mobile Revolution в Токио. Чем вызвал чудовищный батхерт среди Apple-фанов. Как так, Apple не может ответить ничем по-настоящему инновационным и предпочитает троллить Android-производителей патентами 5 летней давности? Да не может быть! Или может?

image

Напомню, что международная торговая комиссия (ITC) признала вину HTC в нарушении двух патентов Apple. Если дело пойдет дальше, то ITC может удовлетворить просьбу Apple и запретить импорт некоторых продуктов HTC на территорию США. Серьезная проблема, не так ли? А если принять во внимание то, что патенты достаточно универсальны и под прицел попадают множество Android-производителей, становится понятна показная резкость Шмидта. Он попросту не мог сказать по-другому, ведь нужно держать ответ перед лицом общественности и акционеров. А может быть он попросту прав?
Читать дальше →

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

Время на прочтение7 мин
Охват и читатели124K
Продолжаю свои повествования об Android. И в этот раз хочу поделиться ценной информацией о процессах и потоках, которая должна быть хорошо усвоена и всегда оставаться под рукой во избежании ошибок и недопонимания при написании приложений. В конце статьи приведу пример реализации AsyncTask, который загружает в ImageView картинку по нажатию на кнопку.
Читать дальше →

Эрик Шмидт заявил, что конкуренты Google занимаются не инновациями, а судебными исками

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


Эрик Шмидт публично прокомментировал недавние судебные иски, направленные против Android и производителей, использующих эту платформу. Он заявил, что конкуренты — в первую очередь Apple — боятся конкуренции и пытаются убрать наиболее быстро растущих соперников.
Читать дальше →

Обзор приложения Google Music

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


Какое-то время назад было много шума вокруг Google Music — догадки, слухи и прочие шокирующие новости после Google I/O, инвайты, и даже обзоры. Где-то именно тогда я подписался на инвайт, и, неким, одному гуглу известным способом, этот инвайт сегодня добрался до моего почтового ящика. Спешу поделиться впечатлениями и сегодня речь пойдёт только об Android приложении, о веб-версии уже много было сказано.
Читать дальше →

Osmand — Руководство пользователя

Время на прочтение8 мин
Охват и читатели247K
Osmand — программа для Android, которая позволяет работать с офлайн картами OpenStreetMap и не только, использовать голосовую навигацию, запись, отображение и навигацией GPX треков, а также ряд возможностей по редактированию OSM. Судя по предыдущему топику , среди хабровчан достаточно большое число пользователей данной программы, которые бы хотели узнать тонкости работы данной программы.

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

Osmand, как и большинство Linux приложений, предназначен, для всех, поэтому конкретную целевую аудиторию даже сложно назвать. Это является и плюсом и минусом приложения. В принципе все open source развиваются по этому сценарию, потому как сообщество постоянно добавляет маленькие и нужные патчи и редко добавляет большие и нужные. Так и получаются приложения с кучей настроек, кучей перекрывающихся функций и тысячами сценариев использования.

Кратко темы, раскрытые ниже:
  • Карта — векторные и растровые карты, различные настройки
  • Экран Карты — индикаторы на главном экране приложения и контекстное меню
  • Настройки приложения — профили настроек и обзор базовых настроек
  • Фоновый сервис — работа приложения с выключенным экраном и с заданным периодом включения
  • Мониторинг — запись GPX треков
  • Навигация — онлайн и офлайн навигация
  • Поиск — поиск POI, транспорта, адреса
  • OSM редактирование — POI и Osm bugs

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

Как улучшить читабельность нашего Android-кода или используем android-annotations

Время на прочтение3 мин
Охват и читатели8.4K
В крошечном проекте решил попробовать данную библиотеку и посмотреть что из этого получится. Об этом опыте хочу рассказать в данном топике.
Читать дальше →

Представлена платформа Android 3.2 и обновлены SDK-инструменты

Время на прочтение1 мин
Охват и читатели1.9K
Команда разработчиков Android представила платформу Android 3.2 — дополнительный релиз, в котором добавлено несколько новых возможностей для пользователей и разработчиков. Новая платформа включает в себя изменения API, а уровень API повышен до 13.

Некоторые из основных моментов Android 3.2:
  • Оптимизирована для большего числа планшетов.
  • Приложения с фиксированным размером могут масштабироваться для их отображения на более крупных устройствах.
  • На устройствах, которые поддерживают съёмную SD-карту, пользователи могут загружать мультимедийные файлы непосредственно с SD-карты в приложения, которые их используют.
  • Расширен API поддержки экрана.
Чтобы получить более полное представление о том, что нового в платформе, можете прочитать описание на сайте Android.

Кроме того, недавно были выпущены новые версии SDK Tools (r12) и плагина для Eclipse (ADT 12), а NDK был обновлён до r6.

[via Android Developers Blog]

Платное и бесплатное приложения: два в одном

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


О том, как непросто создать приложение с поддержкой In-App Purchase на хабре уже рассказывали (здесь и здесь), — слишком много кода для такой простой функциональности.

Даже поддержка оплаты через PayPal внедряется намного проще.

Но благодаря Robot Media SL и open-source библиотеки Android Billing Library, наша жизнь упрощается. Намного упрощается.
Читать дальше →

Новый Android Market

Время на прочтение1 мин
Охват и читатели1.3K
В течении нескольких недель, по сообщению в официальном блоге Android Developers, пользователям (исключительно) телефонов под управлением Google Android 2.2 и выше станет доступно FOTA-обновление Android Market. В числе новых возможностей:
  • Покупка и аренда фильмов (можно смотреть в самом Market в режиме потокового воспроизведения или же без подключения к сети): в настоящий момент доступно только в США, но вскоре будет открыт доступ и в других странах;
  • Покупка книг для Google Books: в настоящий момент доступно только в США, но вскоре будет открыт доступ и в других странах;
  • Новый дизайн, более совместимый с текущими руководствами по построению интерфейса приложений для Google Android (по примеру Google Docs);
  • Новая главная страница;
  • Переработанная каталогизация, позволяющая (разработчикам) продвигать и (пользователям) находить более релевантное содержимое.


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

Что нужно знать Android-разработчику

Время на прочтение7 мин
Охват и читатели57K
imageБуквально месяц назад на Хабре появился топик примерно с таким же названием и посвящалась она начинающим программистам, разжевывая некоторые особенности разработки под эту платформу. Еще тогда я подумал о написании этой статьи, так как показалось, что подходить к началу работы в новой среде лучше с другой стороны. А именно, с более философской. Чтобы не набивать шишки всегда лучше использовать чужой опыт, которым с вами и делюсь.

Прошлым летом совершенно неожиданно для себя я приобрел смартфон Nexus One. Своей покупкой был страшно доволен и подолгу ковырялся в его софтовой начинке, восхищаясь продуманностью системы. Поскольку я уже давно являюсь разработчиком игр, захотелось смастерить что-то свое и для этого устройства. После достаточно плотного изучения платформы, чтения специальной литературы, появились и первые ласточки в виде различных украшательств экрана. Надо заметить, что несмотря на то, что я с java никогда серьезно не работал, язык показался легко осваиваемым и интуитивно понятным. Очень сильно помогла и документация от Гугла. Все это в совокупности вселяло надежды на успешную разработку первого серьезного проекта, дизайн которого уже начал складываться с первых шагов изучения Android. Энтузиазма добавил и тот факт, что после пробного выкладывания приложения с живыми обоями на маркет за первые сутки его скачало почти тысяча пользователей. В голове завертелись мысли о коммерческих проектах и «легкой наживе».

Это была лирично-оптимистичная преамбула, а теперь перейдем к реальной действительности.
Читать дальше →

BlackBerry теряет долю под напором Android

Время на прочтение1 мин
Охват и читатели1.1K
Последние данные показывают, что Google Android продолжает внушительный рост на рынке, с Apple растущей более медленно.

А что если посмотреть на RIM? Он стремительно падает. Только год назад, больше чем на 40 % американских смартфонов были BlackBerry. Теперь это — меньше чем 25 % рынка согласно comScore. И несмотря на невероятно быстрый рост рынка смартфонов— все еще только у трети американских мобильных подписчиков есть смартфоны.
Читать дальше →

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

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

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



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

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

In-App Purchase в Android приложениях

Время на прочтение3 мин
Охват и читатели92K
1. Что это такое и зачем это нужно?

In-App Purchase, грубо говоря, представляет собой сервис покупки виртуальных товаров внутри приложения (например игровой валюты, новых уровней, игровых предметов и т.д.). Применяется он в основном в играх, в тех случаях, когда встает вопрос о необходимости заработка на своем творении, а распространять его платно не особо хочется (или нет смысла).
Читать дальше →

Как получить наибольшую выгоду от Crash Reports или упрощаем себе жизнь

Время на прочтение3 мин
Охват и читатели15K
Привет хабродроидеры!
Если ваше приложение падает в production и вам нужно быстро понять почему, на каком девайсе, с какой прошивкой и конфигурацией, то этот маленький топик расскажет об одном способе решения данной проблемы.
Под катом описание возможностей ACRA.
Читать дальше →

Пишем игру для Android c помощью AndEngine. Часть 4

Время на прочтение7 мин
Охват и читатели11K
Привет всем!

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

Часть 1.
Часть 2.
Часть 3.

Интересно?
Читать дальше →

Помещаем файлы из Assets на SD-карту с помощью Infles

Время на прочтение8 мин
Охват и читатели8.8K
Доброго времени суток, Хабравчане!

Описание:


Почти все пользователи ОС Android знают практику приложений использовать файлы с SD карты.
Большинство приложений скачивают с интернета эти файлы и помещают их в свою папку, но не у всех пользователей есть возможность скачивать их из сети и не у всех разработчиков содержать свой сервер, а вручную копировать файлы, согласитесь, неудобно.
Поэтому что бы упростить всем жизнь и была написана программа «Infles», она распространяется бесплатно с открытым исходным кодом и по лицензии MIT. Программа позволяет в 1 клик установить необходимые файлы в указанную в настройках папку на SD карте. Для этого необходимо поместить их в папку «assets», в коде в файле "\Infles\src\ru\boomik\infles\InflesActivity.java" в переменной «COPY_DIR» указать путь на карте памяти и скомпилировать программу.

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



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