Pull to refresh
-6
Алексей@java3000

Администратор windows умеющий в программирование

Send message

Что такое утечки памяти в android, как проверить программу на их отсутствие и как предотвратить их появление

Reading time14 min
Reach and readers91K
В этой статье для начинающих android-разработчиков я постараюсь рассказать о том, что такое «утечки памяти» в android, почему о них стоит думать на современных устройствах, выделяющих по 192МБ на приложение, как быстро найти и устранить эти утечки в малознакомом приложении и на что нужно обращать особое внимание при разработке любого приложения.


Конечная цель этой статьи — ответ на простой вопрос:
Куда нажать, чтобы узнать, какую строчку в приложении поправить?

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

Как я физическую головоломку на Libgdx писал

Reading time12 min
Reach and readers23K
Здравствуйте!

Скриншот для затравки:

Кто-то еще читает подсказки к картинкам?

Как-то бесцельно сидя в интернете я наткнулся на игру «Цепи, шары и зомби». Не знаю почему, но она меня сильно зацепила. Простой и в то же время интересный геймплей и некоторая нелинейность — уровни можно пройти несколькими способами. Чем-то она напомнила мне небезызвестную Crazy Machines, которой я тоже когда-то болел.

Поубивав зомби, я загорелся идеей написать свою игру — с поэтессами и преферансом шарами и зомби, только лучше (можно грабить корованы). Сказано — сделано. По итогу пары недель игра была сделана, и выложена в Google Play. Если вам интересно узнать детальней — прошу под кат.
Читать дальше →

Мобильный банк «Открытие»: разработка от обратного

Reading time11 min
Reach and readers35K
«Сначала был придуман удобный механизм регистрации, а потом — средства его защиты»
Кейс по разработке мобильного банка для iOS-смартфонов




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

Советы и рецепты начинающему Android программисту

Reading time12 min
Reach and readers78K
Добрый день, уважаемые хабраюзеры.

В данной статье я хочу поделиться своим опытом разработки под Android.
Требования к функционалу разрабатываемого продукта породили различные технические задачи, среди которых были как тривиальные, разжеванные во множестве блогов, так и крайне неоднозначные, с неочевидным решением. Я столкнулся с массой вещей, незнакомых мне, как .NET разработчику. Узнал о существовании инструментов, которые значительно упрощают жизнь. Думаю, что каждый начинающий андроидовец проходит похожий путь. Я мог бы сэкономить до трети времени, потраченного на разработку, поиск и эксперименты, имея такую статью.

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

Как создать интересный игровой сеттинг? Уровень четвертый: звукошумовые эффекты

Reading time7 min
Reach and readers29K
Еще до того, как исследователи канадского университета Ватерлоо провели исследование и выяснили, как звукошумовые компоненты геймплея влияют на игроков, производители аркадных машин понимали: чем интереснее звучит игровой автомат, тем больше посетителей он привлекает. Во времена жесткого дефицита оперативной памяти, когда игры помещались на дискетах, а звуки сжимались самыми невероятными методами, разработчики любой ценой старались создать минимальные аудиоэффекты. Даже если при этом им приходилось жертвовать качеством графики.


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

Моя небольшая история разработки и публикации мобильных игр

Reading time13 min
Reach and readers57K

Отступление


Приблизительно полтора года назад, просматривая очередной выпуск «Видеомании», я услышал о движке Unity3D. До этого никогда глубоко не интересовался подобными вещами и считал процесс разработки для меня сложным. В тоже время детская мечта создавать игры, как и любовь к ним, ещё не угасла. Я нажал на паузу и загуглил «unity3d»… Установив Unity и поняв основные принципы работы движка, я очень обрадовался сразу нескольким вещам: простота в освоении, мульти-платформенность, подробная и понятная документация и живой форум (с английским благо всё в порядке), наличие магазина дополнений и free лицензии. В дальнейшем я пробовал и другие движки, но предпочтение моё всё же не поменялось. Выбирая платформы, я остановился на мобильных и, в частности, на Android. Ничего яблочного у меня не было. К тому моменту лицензия для Android стоила 400 долларов. Но, пока я спешно проходил видео курс по основам ООП программирования и Java (небольшой опыт в php был), ребята из Unity решили дать возможность разработчикам делать игры для Android и iOS совершенно бесплатно, за что им большое спасибо.

Радости не было предела, когда я впервые запустил тестовый проект на своем телефоне. Всё великолепно работало! А процесс компиляции, отправки и запуска приложения на устройстве занимал несколько секунд. Хлопая в ладоши, с улыбкой на лице я стал думать о том, что же мне теперь со всем этим делать…

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

Далее рассказ продолжается в хронологическом порядке выхода игр и разбит на одноимённые главы, с приведением статистики, методах продвижения и прочего.
Читать дальше →

Борьба с утечками памяти в Android. Часть 1

Reading time6 min
Reach and readers49K
Этой статьей мы открываем цикл статей на Хабре о нашей разработке под Android.
Согласно докладу компании Crittercism от 2012 года, OutOfMemoryError — вторая по распространенности причина «крашей» мобильных приложений.
Честно говоря, и в Badoo эта ошибка была в топе всех крашей (что неудивительно при том объеме фотографий, которые просматривают наши пользователи). Борьба с OutOfMemory — занятие кропотливое. Мы взяли в руки Allocation Tracker и начали играться с приложением. Наблюдая за данными зарезервированной памяти, мы выявили несколько сценариев, при которых выделение памяти росло с подозрительной стремительностью, забывая при этом уменьшаться. Вооружившись несколькими дампами памяти после этих сценариев, мы проанализировали их в MAT (http://www.eclipse.org/mat/).
Результат был занимательный и позволил нам в течение нескольких недель снизить количество крашей в разы. Что-то было специфично для нашего кода, но также выявились типичные проблемы, присущие большинству Android приложений.
Сегодня поговорим о конкретном случае утечки памяти. О нем многие знают, но часто закрывают на это глаза (а зря).
Читать дальше →

FAQ по программированию под Android от новичка, и для новичков

Reading time16 min
Reach and readers158K
Предисловие к FAQ.

Программирование является моим хобби уже давно (правда на других языках и платформах), но до андроида руки дотянулись совсем недавно. Прошло несколько этапов, прежде чем я добрался до написания программ.
Сначала была пара месяцев посвященных Java, на сайте с «Сгибателем».
После, долгие попытки подружится с Eclipse, закончившиеся побегом на Android Studio.
На данный момент выпущено 7 программ и две находятся в разработке.
Данная подборка возникла как попытка структурирования и оптимизации полученной в процессе информации.
Заранее извиняюсь за возможно некорректную терминологию – так как практикую обучение через создание, и в теоретической части есть пробелы.

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

Служебное изобретение в свете законодательных новелл 2014 года

Reading time10 min
Reach and readers14K
Самое главное о том, что изменилось в законодательстве в отношении служебных изобретений и что это значит для работодателя.
Читать дальше →

Радионяня из Android смартфона

Reading time3 min
Reach and readers92K
Доброго времени суток хабровчане.

Дети — это прекрасно! Особенно прекрасно, если дети спят. Можно заняться своими делами: перекурить, принять душ, отдохнуть, поиграть… почитать хабр.
image

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

Библиотека Android Data Processor для легкого построения REST запросов и их обработки

Reading time3 min
Reach and readers12K
В повседневной работе постоянно сталкиваюсь с разработкой приложений использующих REST сервисы. Существующие библиотеки помогающие в построении запросов и их обработку не слишком меня устраивали по ряду причин. Возникла мысль о создании простого инструмента наподобие Universal Image Loader позволяющего быстро строить запросы и парсить полученные данные. В результате появился Android Data Processor

Процессор данных предназначен для выполнения REST запросов к сервисам или локально к файлам.
Запросы могут выполнятьс синхронно или асинхронно. Процессор не содержит парсеров. Для обработки результатов вы используете свои любимые парсеры данных и передаете им полученные данные в виде InputStream, String.
Читать дальше →

Добавляем поддержку монтирования Windows шар в Android

Reading time7 min
Reach and readers28K
Купил недавно себе планшет Samsung Galaxy Tab Pro 10.1 LTE SM-T525 и захотелось дома смотреть на нём фильмы и другие файлы с моего сетевого диска, расшаренного через samba. Для этого в ядре должна быть поддержка CIFS и не только… в андроиде начиная с версии 4.2 это оказалось нетривиальной задачей.

1. Суть проблемы с пользовательскими монтированиями

Дело в том, что с версии 4.2 в Adnroid ввели многопользовательский режим и вместе с ним все файловые системы теперь монтируются как Slave, это приводит к тому, что файловая система смонтированная одним пользователем, не видна другим пользователям.
В виртуальной машине Dalvik андроида с версии 4.2 в файле vm/Init.cpp есть такой код:
if (mount("rootfs", "/", NULL, (MS_SLAVE | MS_REC), NULL) == -1) {
	        SLOGE("Failed to mount() rootfs as MS_SLAVE: %s", strerror(errno));
	        return -1;
}

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

Активация многопользовательского режима на вашем смартфоне с Android 4

Reading time2 min
Reach and readers78K
В комментариях к этому топику про Android 4.3 я увидел интерес к многопользовательскому режиму на планшете под управлением Android 4 и сожаления по поводу отсутствия оного на смартфоне.
Мне хочется рассказать хабросообществу о том, как, путем нехитрых манипуляций, вы сможете включить многопользовательский режим на вашем смартфоне на примере моего Samsung Galaxy Nexus (I9250) с установленным на нем CyanogenMod 10.1.

Что же дает нам многопользовательский режим?
Читать дальше →

Пишем виджет ХабраКарма ex-CarmaWidget для Android

Reading time17 min
Reach and readers33K
Вчера я таки обновил CarmaWidget, виджет, который отображает вашу карму на рабочем столе смартфона. Сегодня я расскажу о том, как написать виджет.

image

Принцип таков:
  • Класс — настройки для виджета, который запускается при добавлении последнего на рабочий стол.
  • Класс — провайдер информации для виджета, в котором живут все таймеры.
  • База данных — для хранения информации о пользователе.
  • Два layout'а — для виджета и настройщика.


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

Android — iOS — Android

Reading time12 min
Reach and readers42K
Доброе времени суток, хабражители!

В данном топике я хотел бы поделиться своим опытом пользования OS Android и iOS. Целью этого топика не является сравнение двух операционных систем, но некоторые моменты все же будут рассматриваться как положительные или отрицательные, как сами по себе, так и по отношению к другой ОС. Мнение и взгляды на ОС чисто субъективные. Говоря про Android и iOS, нельзя обойти стороной и телефоны, на которых они установлены, поэтому статья коснется и мобильных устройств на указанных операционных системах. Просьба всех слабонервных и категоричных не читать этот пост. Статья содержит много текста и не содержит картинок. Если кто еще не передумал читать — прошу под кат.
Читать дальше →

20 лет юности игровой индустрии в 5 минутах видео. Часть 1

Reading time1 min
Reach and readers62K
Пятничное видео: 60 игр, разработанных под DOS. Всего 5 минут. Для тех, кто еще помнит, сколько можно было выжать из PC XT и мониторов CGA и EGA.

Как я искал свой телефон с помощью Android Device Manager

Reading time2 min
Reach and readers864K
В прошлую пятницу, по пути домой, я бездарно посеял свой телефон в автобусе. Осознание этого печального факта пришло позже, когда я уже выходил из метро. Новый Nexus 4 терять очень жалко. К счастью я знал о нескольких программах, которые могут отслеживать местоположение телефона.

Прийдя домой, я первым делом попробовал включить Prey, но потом я вспомнил, что после рутования телефона я забыл активировать свой аккаунт.
После этого я попытался поставить Plan B, но тут меня ждал облом. Plan B работает только на старых версиях ОС.

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

Пользователям Android предлагают заработать на рекламе на локскрине смартфона

Reading time1 min
Reach and readers41K
Интересный пример монетизации (как своей, так и пользователя) предлагает некая рекламная компания Locket, выпустившая Android-приложение, показывающее рекламу пользователю прямо на экране блокировки.

Логика действий компании заключается примерно в следующем — владелец смартфона часто его использует и соответственно разблокирует экран. Что если предложить ему в этот момент посмотреть какую-нибудь рекламу, заплатить ему за просмотр, а в качестве подтверждения этого использовать факт разблокировки экрана? Для установки существуют географические ограничения и, насколько можно понять не устанавливая приложение, то оно устанавливает свой ланчер и требует для разблокировки двойного движения пальцем, по сравнению с обычным в Android.

Более детально схема выглядит так — за просмотр рекламы пользователь получает $0.01, но сидеть и методично свайпить по экрану не получится: существует техническое ограничение возможности заработать не более чем $0.03 в час. В Engadget не поленились подсчитать, что если посвящать этому занятию все своё время круглые сутки, то за год можно заработать $262.80. Эту сумму можно будет обналичить, получить на неё подарочную карту или отправить на благотворительность.

Под катом видеопрезентация от компании-автора приложения.
Посмотреть

Ещё немного о 2D графике под Android

Reading time3 min
Reach and readers8.9K
Здравствуйте, читатели Хабра!

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Десктоп разработчик, Администратор серверов
Младший
From 110,000 ₽
Java
Java Spring Framework
RESTful WebServices.
PostgreSQL
SQL
Hibernate
Linux
Базы данных
Microsoft SQL Server
Разработка программного обеспечения