KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Владимир Волков - Программирование для карманных компьютеров

Владимир Волков - Программирование для карманных компьютеров

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

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

Hopper имитирует нажатия стилусом на управляющих элементах окон и ввод данных с программной клавиатуры устройства.

JShell

Это весьма полезная программа для отладки приложений на устройстве. Эта утилита выводит на экран список процессов, загруженных модулей и распределения памяти устройства. Внешний вид запущенной программы показан на рис. 2.9.

Рис. 2.9. Окно программы JShell.

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

? Ключ -r <cmd> позволяет при запуске один раз выполнить команду <cmd>.

? Ключ -f заставляет приложение выводить информацию каждые 60 с, запуская программу с приоритетом реального времени.

? Ключ -m активирует утилиту mi и выводит результаты в файл отчета каждые 4 часа. Файл отчета записывается с именем miXXX.txt в каталог Му Documents, где XXX это номер файла-отчета.

? Ключ -w позволяет запустить команду win и записывать результаты в файл отчета каждые 4 часа. Файл отчета записывается с именем winXXX.txt в каталог Му Documents, где XXX это номер файла-отчета.

Когда вы запускаете программу без ключей командной строки, то она запускается с графическим интерфейсом пользователя (см. рис. 2.9), и можно вручную запустить одну из команд. Для того чтобы команда была выполнена, необходимо нажать кнопку «!». Результат выполнения команды выводится в окно JShell.

Предназначение всех команд приведено в следующем списке.

? Команда win выводит список всех окон.

? Команда gi proc отображает список всех активных в системе процессов.

? Команда кр # позволяет завершить выполнение процесса с номером, указанным в качестве параметра #.

? Команда gi thrd позволяет отобразить список потоков.

? Команда gi mod позволяет вывести список модулей (DLL).

? Команда gi mod «хх» позволяет вывести список модулей (DLL), имена которых начинаются с подстроки хх.

? Команда mi отображает информацию о распределении памяти.

? Команда mi full отображает подробную информацию о распределении памяти.

? Команда s <арр> <args> создает процесс, полное имя к файлу которого передается в параметре <арр>.

PPC_Command_Shell

Это простой командный интрепретатор, выводящий на экран консольное окно (рис. 2.10).

Рис. 2.10. Окно командного интерпретатора.

Содержимое каталога arm необходимо скопировать в каталог Windows на самом Pocket PC и затем нужно запустить файл cmd.exe. Список возможных команд выводится на экран, если набрать команду help и нажать клавишу Enter.

RAPI_Debug

Эта утилита состоит из двух частей. Программу bugtrap.exe необходимо скопировать на устройство в каталог Windows, а программу RapiDbg.exe – запустить на рабочей станции. Естественно, при отладке надо установить соединение при помощи ActiveSynс. После запуска на рабочей станции программа RapiDbg.exe свяжется с устройством и отобразит на экране отладочную информацию (распределение памяти, запущенные процессы и потоки), и останется в режиме ожидания, отслеживая и отображая весь пользовательский ввод, который будет происходить на Pocket PC. Окно программы на рабочей станции показано на рис. 2.11.

Рис. 2.11. Окно программы с выводом отладочной информации.

RAPI_Start

Эта консольная программа позволяет с рабочей станции запустить программу на Pocket PC, если установлено соединение ActiveSync.

К примеру, на рабочей станции в консоли можно выполнить команду RAPI_Start iexplore.exe http://yandex.ru/, а на Pocket PC будет запущен Pocket Explorer и загружена первая страница поисковой системы.

TypeIt

Эта программа предназначается исключительно для смартфонов. После запуска она передает на смартфон клавиатурный ввод с рабочей станции.

Общие вопросы создания интерфейса пользователя

Вся остальная книга будет посвящена именно программированию, поэтому в данном разделе будут кратко освещены общие вопросы, связанные с созданием интерфейса пользователя для Pocket PC.

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

Часто РїСЂРё решении этого конфликта между стремлением Рє реализации серьезной функциональности Рё малым размером экрана РІ жертву приносится размер элементов управления Рё разборчивость РёС… обозначений. РњРЅРµ запомнилось, как СЏ установил РЅР° СЃРІРѕР№ Pocket PC триальную версию РѕРґРЅРѕРіРѕ РёР· коммерческих органайзеров Рё удалил ее после первого же запуска. Причина столь резкого отказа РѕС‚ «мощной функциональности планирования Рё организации множества задач РІ РѕРґРЅРѕР№ программе» была проста. Органайзер нужен пользователю для облегчения жизни, Р° РЅРµ для усложнения ее. Р’ ситуации, РєРѕРіРґР° пользователю приходится разбираться, РЅР° какую РёР· вкладок, идущих РІ РґРІР° СЂСЏРґР° СЃ РґРІСѓС… сторон экрана надо нажать, чтобы получить нужный результат, любой РёР· нас предпочел Р±С‹ стандартный дизайн Рё возможности Microsoft Outlook. Рменно поэтому Грег Кейзер (Greg Keyser), руководитель РіСЂСѓРїРїС‹ разработки мобильных устройств корпорации Microsoft, посвятил СЃРІРѕРµ выступление РЅР° конференции Microsoft Mobile DevCon 2004 вопросам создания пользовательского интерфейса. Основные его советы приведены ниже.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*