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

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

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

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

      Читать дальше
    • Основы программирования под Android на примере игры Судоку

        В статье описаны основные трудности создания приложений под Android.
        Рассматриваются базовые понятия программирования Android.
        Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
        Осторожно много скриншотов.

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

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

          image

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


          Читать дальше →
        • В микроволновой печи скрывается мощное и опасное СВЧ оружие

          • Tutorial
          Добрый день, уважаемые хабровчане.

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

          В микроволновке находится генератор СВЧ волн огромной мощности


          Мощность волн, которые используются в микроволновке, уже давно будоражит моё сознание. Её магнетрон (генератор СВЧ) выдаёт электромагнитные волны мощностью около 800 Вт и частотой 2450 МГц. Только представьте, одна микроволновка вырабатывает столько излучения, как 10 000 wi-fi роутеров, 5 000 мобильных телефонов или 30 базовых вышек мобильной связи! Для того, что бы эта мощь не вырвалась наружу в микроволновке используется двойной защитный экран из стали.
          Читать дальше →
        • Git Wizardry

            1 Введение


            В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
            распределенной системой контроля версий git и указать на отличия по сравнению с
            классическими централизованными СКВ. Целью было прежде всего обобщение опыта
            работы с системой без упоминания тонкостей синтаксиса отдельных команд.

            Данный же топик задумывался как непосредственное введение в работу с git, нечто
            среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
            прочитать упомянутое выше введение. Сознательно избегаются технические
            подробности работы git, употребляются только общие для СКВ термины и
            ограничивается список упоминаемых команд.

            Читать дальше →
          • Десять лучших городов мира для удалённых команд и фрилансеров

              Сайт nomadlist.io сортирует города по удобству проживания для удалённых работников и фрилансеров. На главной ресположен топ городов для фрилансеров. Косвенным подтвержденеим его адекватности может служить то, что многие города — уже освоенные фрилансерами направления. Но есть и пара сюрпризов:



              На сайте можно подобрать город под себя помощью фильтров по стоимости проживания, дальности перелёта, климату и качеству интернета. Стоимость проживания может покзаться завышенной, но, видимо, потому, что кроме отеля/хостела в центре и трёхразового питания в ресторанах, «Список кочевника» считает ещё и цену на рабочее место в коворкинге — нужный вариант для команд, но управление удалёнными сотрудниками требует тихого места для видеопереговоров, да и жить постоянно в отеле накладно — впрочем, для этого есть масса других полезных сайтов.
              Читать дальше →
            • Структура кода в Unity3d — личное мнение и пара трюков

                image
                Хотелось бы поделиться личными впечатлениями о разработке мобильных игр на основе Unity3d. Изначально думал уместить в одном посте все мелкие «Tip&Trick» с которыми столкнулся при работе с Unity3d за последнее время. Но их оказалось черезчур много. Так что в этом посте будут только те, которые касаются непосредственно написания кода.

                Главная тема поста — разделение классов по «слоям», связывание их через события и чуть-чуть о том, как наладить взаимодействие объектов на сцене.
                Кому интересно — добро пожаловать под кат!

                Читать дальше →
              • Фрагментация Android

                • Перевод
                Фрагментация – это и достоинство, и недостаток экосистемы Android. В сети достаточно много сравнений уровня API операционных систем Android и iOS. В этом статье мы исследуем степень фрагментации мобильной ОС от Google и проанализируем влияние фрагментации на разработчиков и пользователей.

                Недостаток:

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

                Достоинство:

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

                ФРАГМЕНТАЦИЯ УСТРОЙСТВ



                Читать дальше →
              • Восстановление данных из внутренней памяти на Android для чайников

                Сейчас всё больше смартфонов идут без слота для sd-card, и информацию приходится хранить на встроенной памяти с доступом к ней по MTP. Такой режим подключения не позволяет стандартными средствами восстановить данные телефона после wipe’а или случайного удаления.

                Сегодня на примере связки Xiaomi Mi2s и Windows 8.1 я постараюсь рассказать, как можно восстановить утерянные данные, кому интересно, добро пожаловать под кат.
                Читать дальше →
              • Используем Hierarchy Viewer для оптимизации Android приложения

                  Hierarchy Viewer — полезная утилита, предназначенная для оптимизации UI Android приложения, а также для визуализации и проверки компонентов, которые его составляют. Для запуска Hierarchy Viewer нужно прописать:
                  hierarchyviewer
                  в командной строке из папки android-sdk\platform-tools.
                  В IntelliJ IDEA можно осуществить запуск прямо из среды (Tools — Android — Hierarchy Viewer).
                  Читать дальше →
                  • +13
                  • 17,9k
                  • 2
                • Анализ памяти для Android приложений

                  • Перевод
                  В Dalvik есть сборщик мусора, но это не значит, что можно игнорировать управление памятью. Даже наоборот — нужно быть особенно внимательным при использовании памяти, которая, как известно, на мобильных устройствах ограничена. В этой статье будут рассмотрены инструменты, которые значительно помогают следить за тем, как приложение использует память.
                  Читать дальше →
                • Еще одна статья о code review

                    Что такое code review


                    Code review - инженерная практика в терминах гибкой методологии разработки. Это анализ (инспекция) кода с целью выявить ошибки, недочеты, расхождения в стиле написания кода, в соответствии написанного кода и поставленной задачи.

                    К очевидным плюсам этой практики можно отнести:
                    • Улучшается качество кода
                    • Находятся «глупые» ошибки (опечатки) в реализации
                    • Повышается степень совместного владения кодом
                    • Код приводится к единому стилю написания
                    • Хорошо подходит для обучения «новичков», быстро набирается навык, происходит выравнивание опыта, обмен знаниями.

                    Читать дальше →
                  • Жизненный цикл UIViewController'a

                      Большинство прикладных приложения под iOS таким или иным образом используют UIViewController'ы. Там где UIKit фрэймворк — там и UIViewController'ы. Их много, они повсюду, они сидят в засадах и выглядывают из-за каждого угла. Поэтому, любой программист под iOS — будь он зеленым новичком, едва ступившим на тропу программирования, либо матерым профессионалом своего дела, должны знать о UIViewController'aх все.

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

                      Так вот. В данном посте, я еще раз расскажу о жизненном цикле UIViewController'ов, расскажу о том, что и где стоит делать, и в каком случае. Пост ориентирован на разработчиков разных уровней, так что кто-то узнает для себя что-то новое, а кто-то найдет повод отпинать моменты, на которые стоит обратить внимание Junior'ов в команде.

                      Всех заинтересовавшихся, прошу
                      под кат
                    • Полезные книги для программиста в геймдеве

                        Привет, Хабр!
                        Ничего не писал со времен своей первой статьи, решил, что пора это исправить.

                        Существует мнение, что про геймдев внятной литературы почти нет, все знания надо получать практическим путем. С моей точки зрения, в этом мнении есть зерно истины, тем не менее, я не могу полностью с ним согласиться.

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

                        Я старался покрыть максимальное количество разных топиков, особенно тех, что спрашивают на собеседованиях. Я старался воздерживаться от domain-specific литературы: профессионалы и так знают. Все картинки содержат ссылки на амазон.

                        А какие книжки нравятся вам?
                        Также в комментах можете писать, на какие темы вам были бы интересны посты.

                        Читать дальше →
                      • Простой и удобный способ добавления социальных сетей в Андроид приложение на примере Вконтакте и Одноклассники

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



                        Для этого можно воспользоваться модулями библиотеки ASNE.

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

                        В данной публикации я покажу, как можно легко добавить поддержку VK и Odnoklassniki в приложении под Android, используя соответствующие модули ASNE. В статье рассмотрен упрощенный пример, включающий добавления логина, записи с ссылкой на стену пользователя и вывода списка друзей.
                        Читать дальше →
                        • +18
                        • 48,1k
                        • 2
                      • Про создание платформера на Unity. Часть вторая, звездная

                        • Tutorial
                        Привет, Хабр!

                        Я, как и обещал, продолжаю делиться с вами знаниями, приобретенными в процессе освоения 2D-режима Unity. От начинающего, так сказать, начинающим. Систематизирую, улучшаю и прогрессирую вместе с вами. Сегодня мы добавим к содержимому первой статьи управление камерой, сбор бонусов и первый способ умереть в игре. Если вам, как и мне, не терпится приступить, то добро пожаловать под кат.

                        И да, гифок там еще больше, чем в прошлый раз.



                        Читать дальше →
                      • «Learning how to learn»: краткий обзор материалов курса

                        Как учиться лучше и быть эффективнее: простые и полезные техники

                        Просмотрела курс на Coursera «Learning how to learn», который рассказывает, как лучше учиться, запоминать информацию и быть более эффективным, и составила список из 17 советов-приемов. Возможно, вы найдете их полезными.
                        Читать дальше →
                      • Как мы боролись с тормозами в AndEngine

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


                        Читать дальше →
                      • Android Studio для NDK под Windows



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

                        Сразу хочу оговориться, что я не являюсь гуру Android-разработки, поэтому каких-либо откровений в тексте вы не найдете. Зато тут есть пошаговая инструкция по установке и настройке Android Studio под Windows и созданию простейшего проекта с использованием Android NDK.

                        Также заранее предупреждаю: статья получилась большой и очень подробной (честно, сам не ожидал), даже несмотря на то, что я почти все скриншоты и некоторые листинги кода спрятал под спойлеры.
                        Читать дальше →
                      • Шаблоны проектирования при разработке под Android. Часть 2 — MVP и Unit tests. Путь Джедая

                          По началу я хотел только кратко рассказать что такое MVP, но кратко не получилось. Поэтому я выделил этот кусок в отдельную статью, которая мало относится к Android, но очень важна для понимания MVP и модульных тестов. Обещанные же статьи никуда не денутся.

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

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

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