суббота, 17 декабря 2011 г.

Диалог выбора на Android или контекстное меню с картинками.

Задача выбора элемента из списка возникает в Android-приложениях регулярно. В принципе, для выбора элемента можно воспользоваться стандартным контекстным меню. Но у контекстного меню есть ряд ограничений:
  • В контекстном меню функции вызова (onCreateContextMenu) и обработки результатов(onContextItemSelected) реализуются в Activity.
  • Нельзя выбрать несколько элементов.
  • В контекстном меню показывается только название элемента. Картинки не отображаются.
Наиболее напрягает необходимость реализации функций в Activity. Типичная ситуация - вам нужна вспомогательная функция, которая предлагает пользователю что-нибудь выбрать из списка и затем выполняет действие над выбранным элементом. Такая функция может вызываться из множества разных Activity. И что, мне в каждой Activity реализовывать функции onCreateContextMenu и onContextItemSelected? Так не пойдет.

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

пятница, 28 октября 2011 г.

Три недели в Као-Лаке.Отдых в Таиланде в октябре 2011.

Несколько дней назад вернулся из Таиланда. Отдыхали всей семьей в курортном городе Као-Лак (Khaolak, 80 км от Пхукета) в течении трех недель. Отдохнули хорошо, хотя и не без проблем.

Путешествовали мы самостоятельно, без турагентства. На Као-Лак летели через Бангкок. Из Бангкока мы успели уехать до начала наводнения, так что обошлось без экстрима.

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

четверг, 15 сентября 2011 г.

Книга Version Control by Example в свободном доступе.

Eric Sink раздает на своем сайте свою новую книжку, посвященную системам контроля верстки: Version Control by Example (SVN, GIT, Mercurial, Veracity). Раздает бесплатно, причем можно даже заказать в бумажном виде.

Книжка интересная, так что заказал. Бумажный вариант читать все-таки на порядок удобнее, чем PDF.

Update 9.11.2011 Пришла книжка. Почитаем...

понедельник, 12 сентября 2011 г.

Книги которые стоит прочитать. Разные версии топов.

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

С книгами все не так. Авторов и книг на несколько порядков больше, чем режиссеров и фильмов. "Объективно" оценить книгу, похоже, гораздо сложнее, чем фильм. Сплошь и рядом - рецензия отличная, интригует; начинаешь читать - туфта. Бывает и наоборот. Так что вопрос "что почитать" всегда актуален.

Хорошо помогают сориентироваться в книжном многообразии списки "лучших" книг. Просишь кого-нибудь составить список самых лучших, на его взгляд, книжек. Просматриваешь - если со многими позициями согласен, то есть неплохие шансы, что достойны прочтения и неизвестные тебе книги/авторы из этого списка. Разумеется, желательно чтобы "кто-нибудь" был ни "абы кто".

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

понедельник, 11 июля 2011 г.

Производительность Android приложения.

Очень часто приходится слышать о проблемах с производительностью Android приложений. Начинаешь разрабатывать собственное приложение - точно, скорости не хватает, какие-то непонятные тормоза лезут... По моему опыту, вопросом - "что можно сделать, чтобы поднять производительность приложения на Android", - задаешься очень быстро. Особенно после первого релиза своего первого приложения :)

Традиционно в низкой производительности Android приложений винят Java. Но только ли Java виноват? Не только. Во многих случаях виноват вовсе не он.

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

Цель этой статьи - перечислить основные моменты, влияющие на производительность. Моменты, на которые стоит обратить самое пристальное внимание как при кодировании, так и при проектировании приложения.