Рубрика «Разработка под android» - 246

Совсем недавно я публиковал топик, в котором рассказывалось о коде, который работал в Android 2.3, но перестал работать в Android 4.0. Несколько человек написали лично на почту, поблагодарили за информацию и просили продолжить подобные публикации. На этот раз поговорим об ActionBar. У одного пользователя возникла проблема с кодом, который работал на Android 3.0, но опять перестал работать на Android 4.0.
Читать полностью »

Icenium – это совершенно новая интегрированная облачная среда (integrated cloud environment — i-c-e — Icenium) для разработки мобильных приложений. Сервис, который является продуктом подразделения Telerik, только что вышел на стадию приватного бета-тестирования и находится в поиске разработчиков, желающих опробовать его. Первоначально Icenium фокусируется на создании iOS и Android приложений, а позже надеется перейти к другим мобильным платформам, и, в конце концов, к серверам и десктопам.

Icenium: кросс платформенная облачная среда для создания мобильных приложенийЧитать полностью »

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

Два взгляда на проблему

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

Добавим сюда сильно ограниченные аппаратные возможности мобильных платформ, в частности крохотный объем оперативной памяти. Ее и без того мало, так в дополнение к этому, Android ограничивает количество доступной RAM на процесс в зависимости от версии ОС от 16 до 48 МБ. И даже из этих нескольких мегабайт СУБД получает лишь часть, ведь есть еще и само приложение. Ну и в заключение, сам SQLite, в виду своих особенностей поддерживает только два уровня изолированности транзакций. Они либо сериализуются, либо вообще отключены!

В ситуации когда производительность приложения начинает упираться в производительность СУБД на помощь и может прийти альтернативный подход, назовем его key-value ориентированным. Вместо декомпозиции сущности на атрибуты и создания отдельных полей в таблице на каждый атрибут, сущность сохраняется “как есть” в одно единственное поле типа BLOB, иначе говоря сериализуется.
Читать полностью »

Особенности AR в iOS и Android

Статья, скорее всего, не расскажет ничего нового тем, кто давно занимается разработкой приложений с фишкой Augmented Reality, но возможно будет полезна тем, кто интересуется этой темой и близок к написанию AR-приложения.

Читать полностью »

image Думаю, начать стоит со Scripting Layer for Android (SL4A). Это така я штука, которая позволяет работать со скриптовыми языками на андроиде. Про запуск скриптов под SL4A, в частности на Python уже писали на хабре. Вот я и решил от скуки немного покурить самокрутку Android+PHP :). Есть такой проект, PHP for Android project (PFA).
Читать полностью »

Рисуем мерцающий текст системой частиц В позапрошлой своей статье, посвящённой созданию открытки средствами OpenGL под Android, я оставил фразу «текст поздравления добавим позже». Так вот, время пришло.

Текст будет выглядеть примерно так, как на картинке, за исключением того, что он слегка мерцает, каждая «звёздочка» плавно исчезает и появляется (кроме того, в финальном варианте и сам текст другой, и цвет не тот, и размеры шрифта и частиц тоже). Нарисован он с помощью анимированной системы частиц, причём в массиве вершин задаются лишь координаты центра каждой точки и некий «сдвиг по фазе» для анимации, ну а сама анимация сделана через шейдеры.

Отрисовка частиц осуществляется механизмом Point Sprites, который как раз и создан для таких случаев. Основная его особенность в том, что мы задаём лишь координаты центра точки и её размер, а OpenGL сам генерит нам по четыре угловых вершины и два треугольника, включая их пространственные и текстурные координаты, для отрисовки множества одинаковых (в смысле, имеющих одну и ту же текстуру) квадратных картинок. Итак, заглянем под ка[по]т.
Читать полностью »

Мобильная реклама: надо перестать сидеть и ждать денегЭли Портной – генеральный директор и соучредитель компании ThinkNear, которая помогает рекламодателям правильно таргетировать их мобильную рекламу, в зависимости от местоположения и среды, окружающей их потребителей.

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

Мобильная индустрия очень быстро растет. Более 100 млн. человек в США имеют смартфоны, потребители тратят более 60 минут в день, потребляя различные медиа на этих устройствах, люди, поглядывают на экран своего мобильного телефона примерно 40 раз за день. Это большая и очень активная пользовательская база. Можно было подумать, что рекламодатели поспешат воспользоваться этим кладезем неиспользованных возможностей. Однако, как показала Микер, существует огромное расхождение в количестве времени, которое люди тратят на свои телефоны, и в количестве рекламных денег, выделяемых на рекламу для мобильных устройств. Цифры могут немного разниться, но примерно они таковы: потребители тратят от 10 до 24% своего времени, проводимого в медиа-пространстве, на мобильные устройства, а рекламодатели направляют в эту область только от 0.5 до 1% своих рекламных бюджетов.Читать полностью »

Этой статьёй я открываю цикл, посвящённый разработке Android-приложений. Но не типичных для Google Play, написанных, очевидно, задней левой mНогой, а приложений корректных и элегантных. В этом деле нам поможет DroidParts — швейцарский нож Android-библиотек с 8 лезвиями:
DroidParts — библиотека для Android 8 in 1

  1. Dependency Injection: инициализация системных и собственных зависимостей;
  2. Object-Relational Mapping для SQLite: CRUD-операции «из коробки»;
  3. Поддержка Fragments, ActionBarSherlock;
  4. Простая (де-)сериализация JSON;
  5. AsyncTasks, IntentService с обработкой Exсeptions;
  6. RESTful HTTP client с поддержкой JSON;
  7. L.og без указания тега, конфигурируемый через AndroidManifest;
  8. Утилиты типа асинхронного http-загрузчика с кешированием, View- и Intent-помощников.

Буквально час назад* увидела свет первая версия библиотеки, но сначала…
Читать полностью »

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

Но есть очень важный момент – мы не можем круглосуточно быть привязаны к рабочему месту и этим мониторам. Мы динамичны. Бизнес должен идти за нами и ни в коем случае не должен отставать. Мы не должны терять драгоценные часы или дни для принятия тактических решений, где бы мы не находились: на улице, под землей, в небе или на воде.

Читать полностью »

Технические аспекты разработки моей первой Android игрыНа мой взгляд, для разработчика, наибольший интерес представляют не примеры кода и конкретная реализация определенных «фич», а именно проектные решения, которые принимались в процессе развития проекта, и тот опыт, что был при этом приобретен.
Именно о таких решениях и будет этот пост (примеров кода на просторах сети более чем достаточно).

Опытные разработчики, скорее всего, это все и так знают. А те, кто только собирается вставать на этот путь, сумеют оценить, с чем им придется столкнуться.

В данной статье я попытался охватить основные аспекты разработки, с которыми я столкнулся: технологии, трудности, проблемы.

Внимание! Много текста :-).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js