Pull to refresh
13
0
flash_ua @flash_ua

User

Send message

Смена языка приложения в настройках

Reading time3 min
Views122K
В системе Android очень удобная для использования система локализации, достаточно создать папку и в ней файл со строками. Но в приложение сложно встроить все возможные языки, и не плохо бы предоставить пользователю выбор языка, отличного от стандартного.
Приведу пример такой ситуации:
В приложении есть 2 языка стандартный английский и русский. Это приложение решил установить украинец, у которого аппарат на украинском языке, но так же он хорошо знает русский, а английский не очень. Но вот Андроид, обнаружив, что в приложении нет украинского языка, запустит приложение со стандартным языком, который в нашей ситуации — английский, а для того, что бы приложение запустить на русском, необходимо менять язык системы, что не очень хорошо.
Вот для этой и многих подобных ситуаций есть решение, в настройки вывести пункт выбора языка, который включает автоматический выбор языка, английский, русский, etc. (смотря какие требуются).

Читать дальше →
Total votes 50: ↑39 and ↓11+28
Comments42

Иконифицированное окно настроек (Preferences)

Reading time4 min
Views6.2K
Все видели настройки в Android аппаратах — меню с иконками. Это стандартный PreferencesActivity, только вот стандартными функциями Андроида такого эффекта достичь невозможно.
Что бы получить такой внешний вид, используем код, позаимствованный из системного приложения Settings.apk, благо open-source это позволяет сделать.



И так, нам понадобится:
1. Класс IconPreferenceScreen.java;
2. Файл attrs.xml в папке values;
3. Лэйаут preference_icon.xml;
4. Свой класс PreferencesActivity.java;
5. Файл с настройками приложения preferences.xml

Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments16

Создание композитных компонентов на Android

Reading time8 min
Views40K
Приветствую всех Хабра-жителей и Андроид-ценителей!
Композитный в нашем случае означает «состоящий из нескольких», но вы это и так знаете.
Итак, есть Задача:
  • Необходимо вывести блок данных, включающий в себя текст, картинки, кнопки и т.д.
    (В нашем случае это будет короткий анонс передачи по ТВ)
  • дизайн блока нарисован специально нанятым дизайнером и вам нельзя отсупать от него ни на пиксель
  • Это блок может иметь какую-то внутреннюю логику работы и компоненты могут влиять друг на друга (у нас «внутренней логикой», будет установка символа "*" в заголовок передачи и смена цвета фона если была нажата кнопка «Буду смотреть»)
  • Таких блоков может быть много и информация для них получается уже в процессе работы приложения
  • как всегда, в процессе работы, дизайн может быть пересмотрен, и вам надо быстро внести изменения в программу не переписывая все с самого начала


Читать дальше
Total votes 35: ↑32 and ↓3+29
Comments10

ListView внутри ScrollView

Reading time2 min
Views17K
В работе над проектом возникла необходимость отрисовать лейаут такого вида: сверху компактным блоком располагаются детали топика, а под ними – список комментариев к этому топику. Сначала оно было реализовано естественным образом: лейаут деталей топика, а под ним – список. Позже ТЗ поменялось, и получилось, что нужно заголовок скролить вместе со списком.

Первым побуждением было сделать то, что вынесено в заголовок: поместить ListView внутрь ScrollView. Получившаяся штука отображалась некорректно, что заставило меня зарыться поглубже в гугл.
Читать дальше →
Total votes 24: ↑16 and ↓8+8
Comments16

Разработка для Android: Добавляем текст на ProgressBar

Reading time4 min
Views10K
Стандартный ProgressBar, как известно, является индикатором выполнения длительных процессов. Однако, его часто используют для наглядного отображения численных величин. К сожалению, этот элемент не поддерживает метода setText(), чтобы поместить на него надпись, поясняющую показываемую величину, что значительно экономило бы экранное пространство. Вспомните адресную строку в стандартном браузере, где позади URI отображается зелёная шкала, отображающая ход загрузки страницы. Как же реализовать такое поведение?
Под катом — один из вариантов решения этой задачи.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments6

Начинающим Java программистам

Reading time2 min
Views1.2M
Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения


  • www.javable.com — сайт со статьями и tutorial'ом по Java. Все в основном на русском.
  • www.exampledepot.com — очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com — без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial'ов на все возможные темы.

Читать дальше →
Total votes 120: ↑113 and ↓7+106
Comments58

Учебник по языку программирования Python (хабраиндекс)

Reading time1 min
Views313K

Серия статей «Основы Python»


I, Начало
II, Строки
III, Списки, кортежи, файлы
IV, Генераторы списков
V, Определение функций, основы
VI, Расширенное определение функций

Об основах языка Python в сжатой форме

Продвинутый уровень


Сила и красота декораторов Короткий экскурс в метапрограммирование.
Итерируем все и вся Специфика циклов в Питоне.
Как я учился работать с XML
Консервация объектов в Python Использование модуля Pickle.
Memoization в Python Оптимизация работы программ.
Простейшее рисование с помощью PIL
Regexp и Python: извлечение токенов из текста
Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

http://netsago.org/ru/docs/1/12/
Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

http://djbook.ru/
Учебник по Django (Python-фреймворк для веб-приложений)

Читать дальше →
Total votes 164: ↑161 and ↓3+158
Comments61

Альфа-версия qutIM 0.2 ждёт вас

Reading time3 min
Views796
Спустя месяцы тяжелой разработки, преодоленные проблемы с сервером и другие встреченные трудности, разработчики кроссплатформенного IM-клиента qutIM рады сообщить о выходе версии 0.2-альфа.
image
Читать дальше →
Total votes 172: ↑162 and ↓10+152
Comments362

В погоне за безграмотностью

Reading time2 min
Views929
Работая над второй версией Типографа я всё больше прихожу к мнению что делаю что-то не так. Попробовал разобраться в причине и вот что понял для себя. Я отклонился от основной идеи создания Типографа — помощь в изучении типографики и вёрстки. Сегодняшний проект не помогает глубже изучить вопрос, он только ещё больше плодит безграмотность.
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments87

Почта Для Спама — Mailforspam.com

Reading time1 min
Views8.1K
Приветствую харбро сообщество!!!
Так случилось, что наступил кризис и три хабровца gorp, zinich,newatol (уже известные по стартапу Закладки на картинки), остались на две недели без работы, потому мы решили реализовать давний замысел, а именно сделать сервис одноразовой почты, а точнее Почты Для Спама.

Ситуация: надо зарегистрироваться на СТРАННОМ сервисе и подтвердить свою почту, НО ВЫ НЕ ХОТИТЕ светить свою РОДНУЮ почту. Что делать ?!
Читать дальше →
Total votes 145: ↑115 and ↓30+85
Comments148

Emacs и Python, Python и Emacs

Reading time5 min
Views22K
В сети часто возникают разговоры на тему «Python best IDE — does it really exist?». Для примера — недавний Q&A в группе Python community на LinkedIn (к сожалению, просмотр возможен только для пользователей группы). Если вкратце, то мир вертится вокруг:

  • Eclipse + PyDev — похоже, что самое популярное из свободных решений.
  • Komodo IDE — по отзывам отличное средство, но не free.
  • WingIDE — лучший autocompletion для Python, но опять-таки non-free.
  • Eric — IDE на Qt и QScintilla, пробовал только на Windows, видно недопробовал — показалась неудобной. Если у кого есть полезная информация и ссылки — поделитесь, пожалуйста, в комментариях.
  • NetBeans 6.5 — готовится к выходу встроенная поддержка Python в этой IDE версии 6.5, ждем с нетерпением!
  • Vim — для фанатов Vim ничего лучше быть, понятно, не может — после обработки напильником, правда.
  • Emacs — аналогично Vim — для пользователей, которые много времени проводят в Emacs, он дает лучший user-experience при разработке на любом языке.


Если первые четыре решения предоставляют IDE для Python прямо из коробки, то последние два требуют определенных настроек. Для Vim не знаю, но для Emacs надо потратить не меньше 6 часов поисков по интернету и экспериментов перед тем как будет получена удобная и (очень) функциональная среда для Python.

Что до меня, то весьма долгое время я работал с Eclipse + PyDev — вполне работоспособное решение. Но после окончательного переезда с Windows в Ubuntu (всем ставить шрифты Liberation в Убунте!), я решил таки завершить начатое уже давно — начать использовать Emacs не только как GTD-органайзер, IRC-клиент и редактор «когда не хочется запускать Eclipse».

История данных шести часов под хабракатом (история предполагает, что читающие хоть немного знакомы с Emacs и Python, а также носит Ubuntu(Debian)-specific оттенок, когда дело касается установки пакетов).

Читать дальше →
Total votes 54: ↑51 and ↓3+48
Comments56

Хранение файлов в MySQL и их быстрая раздача

Reading time3 min
Views96K
Думаю у многих возникала необходимость хранить файлы, связанные с записью в таблице. Это может быть картинка к новости, аватар, загруженный пользователем файл — да все, что угодно. Обычно в этому случае поступают просто — файл ложится в файловую систему, а ссылка на него — в запись БД.
Но у такого классического похода множество недостатков:
  • файлы не удаляются при удалении соответствующей записи БД
  • проблемы при одновременной попытке обновления файла
  • нарушение синхронизации между БД и файловой системой при откате транзакции
  • при резервном копировании и восстановлении информации в БД может возникнуть рассинхронизация с файловой системой
  • файлы не подчиняются ограничениям доступа, наложенным с помощью БД

Больше о проблемах, возникающих при хранении файлов отдельно от БД можно почитать в презентации SQL Antipatterns, раздел Phantom Files, страница 60. Кстати, автор презентации предлагает решение — хранить файлы прямо в БД, в поле типа BLOB. Правда следует замечание, что это должно быть взвешенное решение в каждом конкретном случае. Ведь при таком способе хранения файлов вебсервер должен при каждом запросе вызывать некий скрипт, который будет извлекать файл из БД и отдавать пользователю, что неминуемо отрицательно скажется на производительности.
Для поиска решения данной проблемы был проведен мозговой штурм и придумано несколько вариантов решения проблемы:
Читать дальше →
Total votes 71: ↑59 and ↓12+47
Comments99

Программирование на PyQt4. Часть 2

Reading time7 min
Views12K
Благодаря хорошим людям автор этого цикла статей получил инвайт и все последующие статьи будут опубликоваться им, поэтому не присваивайте эту работу мне. Я просто его друг. ;)
image
Читать 2-ую часть
Total votes 55: ↑52 and ↓3+49
Comments53

Как зарегистрировать домен бесплатно

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

Вот какие домены можно зарегистрировать абсолютно бесплатно:
Украина
.net.ua, .od.ua, .org.ua, и множество вида регион.ua
Россия
.com.ru, .net.ru, org.ru, pp.ru, .msk.ru, spb.ru и множество остальных типа регион.ru

Ниже инструкция типа «домен бесплатно для чайников»

Читать дальше →
Total votes 231: ↑214 and ↓17+197
Comments97

Собираем deb-пакет. Часть 1

Reading time4 min
Views44K
В репозитариях Ubuntu собрано огромное количество программ и библиотек. На сайтах самих программ достаточно часто встречаются deb-пакеты, которые можно скачать и установить. Однако все же бывает ситуация, когда нужного ПО нет в репозитариях или на сайте нельзя скачать пакет для Ubuntu, или, наконец, в репозитарии есть старая версия, но она вас не устраивает тем, что в ней присутствует досадный баг или нет нужной функциональности.

Читать дальше →
Total votes 56: ↑50 and ↓6+44
Comments45

Итоги Фестиваля Компьютерной Графики (Siggraph 2008)

Reading time1 min
Views1.8K
Siggraph 2008, Фестиваль Компьютерной Графики… наконец-то стали известны итоги. Сотни работ, попавшие на фестиваль, оценивались строгим жюри, в результате лучшими были признаны лучшие. Дабы не надоедать вам — вот финалисты:

Best of the Show:
OKTAPODI (Gobelins)

Французский мульт о приключениях двух осьминогов

Jury Award Winner:
MAUVAIS ROLE (Ecole Superieure de Realisation Audiovisuelle)

Тоже французы: специальная награда жюри была вручена за мега-фэнтези :)

Best Well Told Fable Prize:
OUR WONDERFUL NATURE (Hochschule fur Film und Fernsehen)

Красочный мультфильм о живой природе.
Total votes 47: ↑42.5 and ↓4.5+38
Comments25

10 лучших вебсайтов по обучению Photoshop

Reading time1 min
Views56K
Вместо того, чтобы тратить впустую время, обыскивая сеть, в поисках хороших уроков по Photoshop, придерживайтесь этого списка.

PS Heroперейти


PSD tutsперейти


Tutorial 9перейти

Читать дальше →
Total votes 83: ↑73 and ↓10+63
Comments61

Настройка и использование новых функций Firefox 3.0

Reading time4 min
Views2.8K
Как уже писали ранее, Firefox 3.0 вышел вчера в 21.00 по Москве. Так как имеются некоторые проблемы с загрузкой с официального сайта, предлагаю альтернативное зеркало оригинальной русской версии:

Рассмотрим настройку и использование некоторых новых функций.

Читать дальше →
Total votes 121: ↑105 and ↓16+89
Comments183

Основы Python в кратком изложении

Reading time5 min
Views625K
Когда-то давным давно, на одном закрытом форуме я пытался проводить обучение Пайтону. В общем дело там заглохло. Мне стало жалко написанных уроков, и я решил их выложить для широкой общественности. Пока самый первый, самый простой. Дальше идет интереснее, но может быть это будет не интересно. В общем, этот пост будет пробным шаром, если понравится, буду выкладывать дальше.

Python для начинающих. Глава первая. «О чем это мы»

На всякий случай, немного скучного «evangelism». Кому он надоел, можно пропустить несколько абзацев.
Python (читается как «Пайтон» а не «питон») — скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.
В наше время Пайтон – широко распространенный язык, который используется во многих областях:
— Разработка прикладного ПО (например linux-утилиты yum, pirut, system-config-*, IM-клиент Gajim и многие другие)
— Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие)
— Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre)
— Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Пайтон становится практически сравним с пакетами типа MatLab)

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

Так, что же необходимо новичку для изучения Пайтона?
Total votes 2: ↑2 and ↓0+2
Comments195

Information

Rating
Does not participate
Location
Киевская обл., Украина
Registered
Activity