» » » Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework


Авторские права

Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework

Здесь можно скачать бесплатно "Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство Издательский дом "Вильямс", год 2006. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework
Рейтинг:
Название:
Программирование мобильных устройств на платформе .NET Compact Framework
Автор:
Издательство:
Издательский дом "Вильямс"
Год:
2006
ISBN:
5-8459-0989-9
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Программирование мобильных устройств на платформе .NET Compact Framework"

Описание и краткое содержание "Программирование мобильных устройств на платформе .NET Compact Framework" читать бесплатно онлайн.



Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.

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






• .BeginUpdate()/EndUpdate(). Оба эти метода присутствуют как в TreeView, так и в ListView, и предназначены для приостановки и возобновления автоматической перерисовки элемента управления на экране. Вызов метода BeginUpdate() указывает на то, что элемент управления не должен автоматически перерисовываться всякий раз, когда в него добавляются или из него удаляются элементы данных, тогда как вызов метода EndUpdate() восстанавливает режим автоматической перерисовки элемента управления. Выполнение необязательных операций перерисовки экрана может отрицательно сказываться на производительности приложения. Если в процессе работы вашего приложения возникает необходимость в помещении в элемент управления или исключении из него многочисленных данных, то соответствующий участок кода целесообразно окружить парой вызовов BeginUpdate() и EndUpdate(). 

• .AddRange(). Для коллекции узлов элемента управления TreeView предусмотрен метод AddRange() (например, treeView1.Nodes.AddRange()), обеспечивающий групповое добавление узлов в TreeView. Такой "пакетный" режим обработки является гораздо более предпочтительным по сравнению с простым итеративным добавлением каждого узла по отдельности.

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

Пример: различия в производительности, обусловленные использованием различных подходов при работе с элементами управления TreeView

Приведенный в листинге 11.1 пример предназначен для количественной оценки эффективности трех различных методик работы с элементами управления TreeView среды .NET Compact Framework. Используя Visual Studio .NET, создайте новый проект C# для мобильного приложения, выбрав в качестве целевой платформы устройство Pocket PC. Убедившись в том, что вы находитесь в режиме конструктора, добавьте в пустую форму элемент управления TreeView и пять кнопок, как показано на рис. 11.1.

Visual Studio .NET автоматически создаст и свяжет с кнопкой пустой обработчик событий

Все, что вы должны для этого сделать — это дважды щелкнуть на кнопке формы. Имя добавленной функции будет состоять из имени элемента управления (например, button1) и суффикса _Click. Visual Studio выполнит следующее: 1) создаст для вас функцию обработчика событий, 2) запишет код в функцию InitializeComponent() формы, предназначенную для подключения только что созданного обработчика события щелчка, и 3) откроет окно редактора кода, чтобы вы могли ввести в нем код для обработчика события. При желании вы можете назвать кнопку по-другому, изменив свойство Name в окне Properties (окно справа на рис. 11.1). Целесообразно сделать это до двойного щелчка на кнопке с целью создания и подключения обработчика события, поскольку функция обработчика создается с использованием текущего имени элемента управления. Если имя элемента управления будет изменено уже после создания этой функции, обработчик по-прежнему останется связанным с ним должным образом, но его имя не будет согласовываться с новым именем элемента управления. Обеспечить совпадение имен в этом случае вам придется вручную; сделать это не составляет особого труда, но для этого вам придется выполнить лишнюю работу.

Представленный в листинге 11.1 код состоит из набора обработчиков событий для различных кнопок, которые имеются на вашей форме. Фактические имена используемых функций будут происходить от имен, присвоенных соответствующим кнопкам. В своем коде я использовал для кнопок следующие имена: UnOptimizedFill, UnOptimizedClear, UseBeginEndUpdateForFill, UseBeginEndUpdateForClear и FillArrayBeforeAttachingToTree. Если вы используете заданные по умолчанию имена, которые предложит вам Visual Studio .NET, то у вас будут кнопки с именами button1, button2, button3, button4 и button5 и функции обработчиков событий с другими именами, которые надо будет соответственно изменить.

Рис. 11.1. Конструктор форм среды Visual Studio .NET с размещенными на форме элементами управления TreeView и Button


В любом случае, проще всего сначала создать и связать с кнопками пустые обработчики событий, выполняя для этого двойные щелчки на каждой из кнопок в конструкторе форм Visual Studio .NET, а затем вставить приведенный в листинге код обработчиков в созданные для вас определения функций.

Листинг 11.1. Заполнение данными и очистка от них элементов управления TreeView с использованием альтернативных стратегий

//---------------------------------------------------------------------

//Примечание #1: В этом примере используется класс PerformanceSampling,

// определенный ранее в данной книге. Убедитесь в том, что

// вы включили этот класс в свой проект.

//Примечание #2: Этот код необходимо включить в класс Form, содержащий

// элемент управления TreeView и кнопки Button, к которым

// подключены приведенные ниже функции xxx_Click.

//---------------------------------------------------------------------


//Количество элементов, которые необходимо поместить в элемент

//управления TreeView

const int NUMBER_ITEMS = 800;


//-------------------------------------------------------------------------

//Код для кнопки "Fill: Baseline"

//

//Использование неоптимизированного подхода для заполнения данными элемента

//управления TreeView

//-------------------------------------------------------------------------

private void UnOptimizedFill_Click(object sender, System.EventArgs e) {

 //Очистить массив для создания одинаковых условий тестирования

 if (treeView1.Nodes.Count > 0) {

  treeView1.BeginUpdate();

  treeView1.Nodes.Clear();

  treeView1.EndUpdate();

  treeView1.Update();

 }


 //Для повышения корректности тестирования предварительно выполнить

 //операцию сборки мусора

 System.GC.Collect();


 //Запустить таймер

 PerformanceSampling.StartSample(0, "TreeViewPopulate");


 //Заполнить данными элемент управления TreeView

 for (int i = 0; i < NUMBER_ITEMS; i++) {

  treeView1.Nodes.Add("TreeItem" + i.ToString());

 }


 //Остановить таймер и отобразить результат

 PerformanceSampling.StopSample(0);

 System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(0));

}


//-------------------------------------------------------------------------

//Код для кнопки "Clear: Baseline"

//

//Использование неоптимизированного подхода для заполнения данными элемента

//управления TreeView

//-------------------------------------------------------------------------

private void UnOptimizedClear_Click(object sender, System.EventArgs e) {

 //Для повышения корректности тестирования предварительно выполнить

 //операцию сборки мусора

 System.GC.Collect();


 //Запустить таймер

 PerformanceSampling.StartSample(1, "TreeViewClear");

 treeView1.Nodes.Clear();

 PerformanceSampling.StopSample(1);

 System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(1));

}


//--------------------------------------------------

//Код для кнопки "Fill: BeginUpdate"

//

//Подход, в котором используется метод BeginUpdate()

//--------------------------------------------------

private void UseBeginEndUpdateForFill_Click(object sender, System.EventArgs e) {

 //Очистить массив для создания одинаковых условий тестирования

 if (treeViewl.Nodes.Count > 0) {

  treeView1.BeginUpdate();

  treeView1.Nodes.Clear();

  treeView1.EndUpdate();

  treeView1.Update();

 }


 //Для повышения корректности тестирования предварительно выполнить

 //операцию сборки мусора

 System.GC.Collect();


 //Запустить таймер

 PerformanceSampling.StartSample(2, "Populate - Use BeginUpdate");


 //Заполнить данными элемент управления

 TreeView treeView1.BeginUpdate();

 for (int i = 0; i < NUMBER_ITEMS; i++) {

  treeView1.Nodes.Add("TreeItem" + i.ToString());

 }

 treeView1.EndUpdate();


 //Остановить таймер и отобразить результат

 PerformanceSampling.StopSample(2);

 System.Windows.Forms.MessageBox.Show(PerformanceSampling.GetSampleDurationText(2));

}


//--------------------------------------------------

//Код для кнопки "Clear: BeginUpdate"

//Подход, в котором используется метод BeginUpdate()

//--------------------------------------------------

private void UseBeginEndUpdateForClear_Click(object sender, System.EventArgs e) {

 //Для повышения корректности тестирования предварительно выполнить


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Программирование мобильных устройств на платформе .NET Compact Framework"

Книги похожие на "Программирование мобильных устройств на платформе .NET Compact Framework" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Иво Салмре

Иво Салмре - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework"

Отзывы читателей о книге "Программирование мобильных устройств на платформе .NET Compact Framework", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.