Продолжение статьи о ListView в Android, в котором мы рассмотрим более сложные примеры его использования, такие, как иконки на элементах списка и добавление чекбоксов к этим элементам. Так же мы рассмотрим возможности по оптимизации кода.
Алексей Жуковский @megazhuk
Предприниматель. Инженер.
Blender 2.49b + Python 2.6 – используем клавиатуру в своей игре
5 min
6.1KBlender – свободно распространяемая программа с открытым исходным кодом для создания трехмерной графики и компьютерных игр, которая поддерживает Python в качестве «встроенного» языка программирования.
Python – интерпретируемый язык программирования.
Данный топик пытается укрепить иллюзию, что, обладая минимальными познаниями в Блендере и Питоне, каждый сможет создать свою игру. Из всего, что можно сделать с помощью Питона в Блендере, для начала рассматривается простейшее взаимодействие с клавиатурой. Так же в топике пошагово в скриншотах описаны минимально необходимые методы работы с Блендером: запуск, сохранение сцены, манипуляции с объектом, добавление сенсоров и контроллеров и т. д.
Python – интерпретируемый язык программирования.
Данный топик пытается укрепить иллюзию, что, обладая минимальными познаниями в Блендере и Питоне, каждый сможет создать свою игру. Из всего, что можно сделать с помощью Питона в Блендере, для начала рассматривается простейшее взаимодействие с клавиатурой. Так же в топике пошагово в скриншотах описаны минимально необходимые методы работы с Блендером: запуск, сохранение сцены, манипуляции с объектом, добавление сенсоров и контроллеров и т. д.
+35
Blender 2.6 + Python 3.2 – задействуем устройства ввода в собственной игре
26 min
15KПрошлый топик, посвященный простейшему способу использования клавиатуры в Блендере с помощью Питона, дал нам только начальные знания об интерфейсе Блендера, а так же принципах работы с Питоном в Блендере.
Однако, если мы хотим разработать полноценную игру, то нам нужно более серьезное решение – современная игровая индустрия предлагает гораздо более широкий выбор устройств ввода, чем одна только клавиатура, а список возможных действий и событий в игре не исчерпывается движением единственного игрового объекта.
В данном топике мы попробуем создать законченную, расширяемую, универсальную систему взаимодействия с устройствами ввода в игре при помощи программирования на Python 3.2 в Blender 2.6.
Однако, если мы хотим разработать полноценную игру, то нам нужно более серьезное решение – современная игровая индустрия предлагает гораздо более широкий выбор устройств ввода, чем одна только клавиатура, а список возможных действий и событий в игре не исчерпывается движением единственного игрового объекта.
В данном топике мы попробуем создать законченную, расширяемую, универсальную систему взаимодействия с устройствами ввода в игре при помощи программирования на Python 3.2 в Blender 2.6.
+36
Стилизация приложений часть вторая
2 min
15K
В прошлом уроке мы рассмотрели основные приемы стилизации. Идем дальше и узнаем немного нового про градиенты и рамки фигур.
+20
Стилизация приложений часть первая
4 min
79K
Все идет хорошо, вы успешно пишете свои великолепные (ну у кого-как) приложения, даже бывает публикуете их на маркете, но возникает проблема: весь интерфейс уж слишком скучен и однообразен, черный фон (в некоторых селениях белый) и стандартные элементы уж слишком приелись…
Ну или пойдем по другому пути — у вас имеется своя контора Васей Пупкиных с некой деятельностью в мировой сети (допустим продажа хомячков), и (о ужас!) у вас есть целый сайт. Сайт, ага, сайт то у нас красивый, зелененький/красненький/желтенький ну и т.д. и есть программа-клиент для этого сайта, и мы хотим раскрасить свое приложение в цвета сайта.
Это статья о том, как можно стилизовать свое приложение под конкретные цвета, а не ограничиваться цветами Андроида
+55
31 метод эффективного программирования под Android
5 min
24KДанная статья является переводом очень хорошего топика с форума Stack Overflow. Так как английский язык не является для меня родным, то какие-либо непонятные мне места я просто пропускал, что бы не разгневать тех, кто его действительно знает. Статья содержит список советов и рекомендаций для начинающих разработчиков под Android.
+115
Пробуем AndEngine и physicsbox2d
5 min
6.1KВ этой заметке я хочу рассказать о существовании такого расширения для AndEngine как physics2box.
AndEngine — это бесплатный движок для игр под Andtoid, один из наиболее популярных. Для него существует ряд расширений, одно из них — physicsbox2d. Эта библиотека позволяет создавать физику в игровом мире.
Про AndEngine на Хабре уже отлично написал stepango . Я с удовольствием воспользовался его трудами, и, заодно, прикрутил physicsbox2d. Это оказалось довольно просто.
Я не берусь рассказать обо всех, или даже о какой-то части возможностей этих двух инструментов, а только подскажу интересующимся, с чего начать. А начать вот с чего:
AndEngine — это бесплатный движок для игр под Andtoid, один из наиболее популярных. Для него существует ряд расширений, одно из них — physicsbox2d. Эта библиотека позволяет создавать физику в игровом мире.
Про AndEngine на Хабре уже отлично написал stepango . Я с удовольствием воспользовался его трудами, и, заодно, прикрутил physicsbox2d. Это оказалось довольно просто.
Я не берусь рассказать обо всех, или даже о какой-то части возможностей этих двух инструментов, а только подскажу интересующимся, с чего начать. А начать вот с чего:
+2
Читаем QR код
5 min
1.1MTutorial

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
+605
Процессор
8 min
155KTutorial
Сколько я себя помню, всегда мечтала сделать процессор. Наконец, вчера я его сделала. Не бог весть что: 8 бит, RISC, текущая рабочая частота — 4 кГц, но он работает. Пока что в программе моделирования логических цепей, но все мы знаем: «сегодня — на модели, завтра — на деле!».
Под катом несколько анимаций, краткое введение в двоичную логику для самых маленьких, короткий рассказ про основные микросхемы логики процессора и, собственно, схема.
Под катом несколько анимаций, краткое введение в двоичную логику для самых маленьких, короткий рассказ про основные микросхемы логики процессора и, собственно, схема.
+333
Несколько полезных сервисов
2 min
126K
Сервисы опросов
userreport.com (добавил Romanych)
simpoll.ru
webanketa.com (добавил mihass)
Кнопки постинга в социальные сети
Кнопка от Яндекса
addthis.com (добавил UksusoFF)
share42.com
+330
SeekBar в настройках приложения
5 min
22K
Для создания экранов настроек Android предоставляет очень удобный набор виджетов, таких как CheckBoxPreference, EditTextPreference, ListPreference. В случае, если существующие виджеты по каким-либо причинам не соответствуют требованиям, можно создать свой собственный на базе существующих.
Довольно часто встречается ситуация, когда та или иная целочисленная настройка имеет разумные пределы: яркость, громкость и т.д. В этом случае имеет смысл создать собственный виджет, чтобы многократно использовать его в приложении.
+33
Линейная алгебра для разработчиков игр
19 min
796KTutorial
Translation
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
+278
Слайдинг экранов с помощью ViewPager
4 min
83KВступление
Горизонтальная прокрутка экранов — удобная и модная вещь. На Хабре уже был топик, посвященный данной теме. Однако использование ViewFlipper не позволяет с легкостью добиться эффекта привязки, когда экраны двигаются вместе с пальцем. Также нужен механизм автоматической доводки экранов в ту или иную сторону. Примера, где это было бы хорошо разъяснено и реализовано, так и не нашел. В комментариях предлагали посмотреть исходники гугловского кода, где это реализовано. Однако удобнее было бы воспользоваться готовым решением. Такой механизм реализован в Android Support Package. Использовать эту библиотеку можно для версий Android 1.6 и старше. Конкретно нам понадобятся классы ViewPager и PagerAdapter.
+34
Некоторые возможности использования Intent'ов
6 min
68K
Введение
Объекты типа Intent могут быть использованы для общения между отдельными частями Android приложения, либо между различными приложениями системы. Мощь механизма интентов заключается в том, что с его помощью можно обращаться к любому установленному в системе приложению. Это позволяет повторно использовать некоторые компоненты и значительно сократить время на разработку.
В этой статье я покажу некоторые возможности использования класса Intent для обращения к системным приложениям.
+70
Пишем свой сервис авто-обновлений
7 min
22KБольшинство разработчиков stand-alone приложение рано или поздно сталкиваются с проблемой доставки обновлений для своего приложения. В этой статье я постараюсь решить эту проблему наилучшим, на мой взгляд, способом — написать свой собственный универсальный сервис авто-обновлений, который будет висеть в процессах в единственном экземпляре и доставлять обновления для всех подписавшихся приложений.
Существует несколько готовых решений для .NET, но самое актуальное — это ClickOnce. Эту технологию уже нельзя назвать новой, однако серьёзное развитие, на мой взгляд, она получила не так давно, и не обладает исчерпывающим функционалом.
Если вы не хотите изобретать велосипед, то советую вам пристально изучить возможности ClickOnce, и если вам будет достаточно предлагаемого функционала, то это определенно ваш выбор. Однако ClickOnce не панацея и далеко не всегда ею можно обойтись.
Сейчас же я хочу рассказать о своём видении механизма авто-обновлений. Я не претендую на истинность в последней инстанции, так что конструктивная критика и предложения в комментариях приветствуются.
UPD: Суть реализации заключается в том, чтобы уменьшить количество процессов и служб, которые занимаются обновлением. Если у вас несколько приложений, то все они смогут «получать» обновления от одного единственного Windows-сервиса. Не надо будет для каждого приложения запускать лаунчер, держать соединение с сервером обновлений. Теоретически в системе всеми обновлениями может заниматься один процесс, и возможно этим процессом скоро станет ClickOnce, если разработчики перестанут делать свои «велосипеды». А разработчики перестанут делать свои велосипеды тогда, когда им будет достаточно функционала ClickOnce. Сейчас, к сожалению, это не всегда так.
Пусть у нас есть несколько разных приложений, установленных на компьютере пользователя. Мне бы хотелось написать универсальный сервис авто-обновлений, чтобы потом я мог использовать его и в других приложениях. И все приложения обновлялись используя только одну службу, что сэкономило бы ресурсы при большом количестве софта. Так же желательно, чтобы в существующих приложениях мне потребовалось внести минимальные изменения для подключения и настройки авто-обновлений. Процесс обновления должен быть настраиваемый для каждого приложения.
Существует несколько готовых решений для .NET, но самое актуальное — это ClickOnce. Эту технологию уже нельзя назвать новой, однако серьёзное развитие, на мой взгляд, она получила не так давно, и не обладает исчерпывающим функционалом.
Если вы не хотите изобретать велосипед, то советую вам пристально изучить возможности ClickOnce, и если вам будет достаточно предлагаемого функционала, то это определенно ваш выбор. Однако ClickOnce не панацея и далеко не всегда ею можно обойтись.
Сейчас же я хочу рассказать о своём видении механизма авто-обновлений. Я не претендую на истинность в последней инстанции, так что конструктивная критика и предложения в комментариях приветствуются.
UPD: Суть реализации заключается в том, чтобы уменьшить количество процессов и служб, которые занимаются обновлением. Если у вас несколько приложений, то все они смогут «получать» обновления от одного единственного Windows-сервиса. Не надо будет для каждого приложения запускать лаунчер, держать соединение с сервером обновлений. Теоретически в системе всеми обновлениями может заниматься один процесс, и возможно этим процессом скоро станет ClickOnce, если разработчики перестанут делать свои «велосипеды». А разработчики перестанут делать свои велосипеды тогда, когда им будет достаточно функционала ClickOnce. Сейчас, к сожалению, это не всегда так.
Итак задача
Пусть у нас есть несколько разных приложений, установленных на компьютере пользователя. Мне бы хотелось написать универсальный сервис авто-обновлений, чтобы потом я мог использовать его и в других приложениях. И все приложения обновлялись используя только одну службу, что сэкономило бы ресурсы при большом количестве софта. Так же желательно, чтобы в существующих приложениях мне потребовалось внести минимальные изменения для подключения и настройки авто-обновлений. Процесс обновления должен быть настраиваемый для каждого приложения.
+30
Фоновая подгрузка списков
2 min
11K При загрузке больших списков из медленного источника (например HTTP запрос) нет смысла загружать весь список сразу, особенно если пользователю потребуется лишь небольшое количество данных (результаты поиска, новостные статьи). В этом случае целесообразно реализовать постраничную подгрузку списка. В этой статье показан простой способ с использованием footer view контрола ListView. Подразумевается, что у нас уже есть список и его адаптер, который загружает элементы (пусть несколько первых, или весь) используя например ассинхронный HTTP запрос. Удобнее вынести запрос данных в отдельный класс, в котором добавить возможность подгрузки очередной страницы.
План действий
- Подготавливаем layout для элемента сообщения о процессе загрузки
- Подготавливаем контрол ListView
- Добавляем в адаптер списка код запуска загрузки следующей страницы
- Обрабатываем результат загрузки очередной страницы
+20
12+ полезных Google Chrome chrome:// команд
2 min
400KВсе знают, что для того чтобы попасть в меню у Хрома, нужно нажать на Гаечный ключ в правом верхнем углу.
Однако есть несколько особенностей, которые не доступны из меню, которые вы можете увидеть только с помощью chrome:// команд.
Под катом приведены 12 самых полезных chrome:// команд, которые должны знать все.
Однако есть несколько особенностей, которые не доступны из меню, которые вы можете увидеть только с помощью chrome:// команд.
Под катом приведены 12 самых полезных chrome:// команд, которые должны знать все.
+175
Основные UI паттерны разработки Android приложений
3 min
26KПоскольку разработка приложений под Android набирает популярность, думаю обзор основных UI паттернов для Android-приложений будет кому-то полезен. Основой для статьи является вот этот вот источник. Рассматриваемые паттерны: Dashboard, Action Bar, Quick Actions, Search Bar и Companion Widget.
+38
Основы Contacts API в Android
6 min
32KСовсем недавно мне нужно было сделать приложение в котором была необходима поддержка функционала работы с пользовательскими контактами на базовом уровне и, как наверное любой начинающий Android разработчик, я прибывал в небольшом ступоре после поверхностного изучения нового Contacts API. Во время работы я нашел совсем не много информации на эту тему (кроме самой документации конечно), а на русском языке, как мне показалось, она и вовсе отсутствует. Поэтому я и решил написать эту статью и поделиться своим опытом с другими. В ней я постараюсь охватить только основы работы с контактами в Android, не затрагивая более глубокие вопросы и вопросы синхронизации, которые по моему заслуживают отдельной статьи.
+40
Android UI Patterns: Dashboard
6 min
12K
+35
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity