Главная » Статьи для тега "вообще"

Жизненный цикл активности и работа пользователя с системой в Android приложении

Добавлено Дата: 5 August, 2013 категория: Разработка для Android

 

Если приложение хорошо приспособлено для мобильной среды вообще, то в цикле управления его жизненным циклом потребуется меньше кода:

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

Читать »

Совет 5 — об интерфейсе

Добавлено Дата: 15 June, 2011 категория: Delphi

То, что мы говорили об интерфейсах ранее, можно конкретизировать так: программа не должна заставлять вас делать что-то лишнее. Меню программы, а также все операции должны быть простыми и понятными и по возможности осуществляться стандартным способом. Надо четко представлять, что именно вы хотите сделать, и идти к цели наиболее коротким и по возможности стандартным путем. Сама Microsoft злостно нарушила это требование еще много лет назад, когда по совершенно необъяснимой причине вдруг задействовала клавишу <Alt> для входа в меню (кстати, в главе 7 вы узнаете, как написать утилиту, которая эту функцию отключает). Хочу предостеречь читателей от подобных извращений— системные клавиши (в первую очередь клавиши- модификаторы <Alt>, <Ctrl> и <Shift>, но также и такие, как <Esc>, <Del>, <End> и пр.) предназначены для выполнения совершенно определенных действий и не должны использоваться в вашей программе ни для чего другого. В противном случае вы обязательно создадите большие трудности пользователям. Единственное исключение— нестандартное использование правых (дополнительных) клавиш <Alt>, <Ctrl> и <Shift>, изредка— второго <Enter>, которое стало уже традиционным но той причине, что для осуществления основных функций они оказались просто лишними. Допустимо также задействовать для какой-то оригинальной операции практически неиспользуемую системную клавишу <ScrollLock>, если вас не раздражает лампочка, а вообще горячие клавиши должны быть только из набора специально для этой цели предназначенных функциональных клавиш <K.v> или буквенно- цифровых в сочетании с клавишами-модификаторами (достаточный набор их имеется прямо в меню соответствующего компонента Delphi и обычно ничего специально придумывать не надо). Не следует также вслед за разработчиками некоторых графических редакторов и CAD использовать в качестве горячих клавиш "голые" буквенные или цифровые клавиши — просто по той причине, что их легко случайно задеть и что-то при этом испортить. Излишне говорить, что любая достаточно солидная программа обязана дублировать все пункты меню горячими клавишами.

Читать »

О работе с индикаторами длительности процесса

Добавлено Дата: 23 May, 2011 категория: Delphi

Несколько слов о работе с ползунками, которые отображают время длительного процесса. Вместо стандартного ProgressBar можно взять более продвинутый Gauge (закладка Samples), но в этой книге мы этого делать не будем, т. к. он тормозит процесс уже до совершенно неприемлемых величин. Для того чтобы проиллюстрировать обращение с разными типами ползунков и протестировать их возможности, я расположил на диске в папке Glaval3\Polzunok демонстрационную программу Polzunok. В ней примерно 100-килобайтный файл (наша картинка из SlideShow 0klen2.jpg) читается побайтно в строку (о том, как это делается, см. главу 21). До этого и после этого системным таймером фиксируется время и выводится длительность процесса в секундах. Рассматриваем четыре случая: вообще без графического ползунка (с выводом процентов выполнения в текстовой форме в компонент Label), со стандартными ProgressBar и Gauge, а также с самостоятельно сконструированным ползунком на основе компонентов image и Panel. Ручаюсь, что вы будете несколько ошеломлены результатами: на моем относительно медленном компьютере длительность процедуры без графического сопровождения составила 2 секунды, с компонентом ProgressBar— 55 секунд, а с компонентом Gauge— целых 130 секунд, в 65 раз медленнее! При этом наш самодельный ползунок дает фору "официальным" компонентам — с ним длительность составила 46 секунд. Однако не сомневаюсь, что если на его основе сделать собственный компонент, то "классовая" обертка замедлит процесс, и никакого выигрыша мы по сравнению с ProgressBar уже не получим, поэтому возиться, видимо, не стоит. Конечно, на компьютерах с другими видеосистемами, более быстрым процессором и доступом к памяти результаты будут другими, но соотношение вряд ли изменится принципиально. В DOS я бы не задумался над тем, чтобы написать свой собственный ползунок с прямым выводом в видеопамять (см. на эту тему замечание в главе 8), но в Windows это настолько громоздкое занятие, притом с непредсказуемым результатом в отношении выигрыша во времени, что в критичных случаях проще обойтись вообще без ползунка.

Читать »

Unicode

Добавлено Дата: 13 April, 2011 категория: Delphi

Введение двухбайтной кодировки было задумано хорошо, а выполнено (по крайней мере, в Windows)— "как всегда". Читаем в официальном пособии [1, стр. 519]: "Архитектура .шогоязыковой поддержки базируется на раскладках клавиатуры". Привязка переключения раскладки к переключению языка была, конечно, ошибкой: на практике следовало эти функции жестко и безоговорочно разделить. А зачем, однако, разработчикам Windows вообще понадобилось отдельно понятие "языка", если он при отображении на экране однозначно определяется текущей кодовой страницей, а при вводе — текущей раскладкой клавиатуры? Все дело в том, что через это разработчики Microsoft еще со времен Windows 3.x пытались обеспечить поддержку многоязычных документов и, надо сказать, сначала немало в том преуспели.

Читать »