Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework
- Название:Программирование мобильных устройств на платформе .NET Compact Framework
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2006
- Город:Москва • Санкт-Петербург • Киев
- ISBN:5-8459-0989-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework краткое содержание
Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.
Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.
Программирование мобильных устройств на платформе .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Friend Shared Sub StartSample(ByVal sampleIndex As Integer, _
ByVal sampleName As String)
m_perfSamplesNames(sampleIndex) = sampleName
m_perfSamplesStartTicks(sampleIndex) = System.Environment.TickCount()
End Sub
'--------------------------------------------------------------------------
'Определить конечное значение счетчика тактов системных часов для интервала
'--------------------------------------------------------------------------
Friend Shared Sub StopSample(ByVal sampleIndex As Integer)
Dim stopTickCountAs Integer = System.Environment.TickCount
'Счетчик тактов системных часов сбрасывается в ноль каждые 24,9 дня
'(что соответствует примерно 2 миллиардам мс)
'Эта маловероятная возможность будет принята нами во внимание
If (stopTickCount >= m_perfSamplesStartTicks(sampleIndex)) Then
'Обычно будет выполняться этот код
m_perfSamplesDuration(sampleIndex) = _
stopTickCount - m_perfSamplesStartTicks(sampleIndex)
Else
'Значение счетчика тактов "завернулось" через ноль, и мы
'должны это учесть
m_perfSamplesDuration(sampleIndex) = stopTickCount + _
(Integer.MaxValue - m_perfSamplesStartTicks(sampleIndex)) + 1
End If
End Sub
'-------------------------------------------
'Возвратить длительность тестового интервала
'(в миллисекундах)
'-------------------------------------------
Friend Shared Function GetSampleDuration(ByVal sampleIndex _
As Integer) As Integer
Return m_perfSamplesDuration(sampleIndex)
End Function
'Возвращает длительность истекшего тестового
' интервала в секундах
Friend Shared Function GetSampleDurationText(ByVal _
sampleIndexAs Integer) As String
Return m_perfSamplesNames(sampleIndex) + ": " + _
System.Convert.ToString( _
(m_perfSamplesDuration(sampleIndex) / CDbl(1000.0)) ) + " секунд."
End Function
End Class
Private Sub Button1_Click(ByVal senderAs System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Const TEST_SAMPE_INDEXAs Integer = 2 'Выбрать любой допустимый индекс
'Начать измерение
PerformanceSampling.StartSample(TEST_SAMPE_INDEX, "TestSample")
'Отобразить окно сообщений
MsgBox("Для прекращения измерения нажмите кнопку OK")
'Прекратить измерение
PerformanceSampling.StopSample(TEST_SAMPE_INDEX)
'Отобразить результаты
MsgBox(PerformanceSampling.GetSampleDurationText( _
TEST_SAMPE_INDEX))
End Sub
'Поместить надписи на кнопках
Private Sub Form2_Load(ByVal senderAs System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
button1.Text = "Плохая обратная связь"
button2.Text = "Хорошая обратная связь"
button3.Text = "Улучшенная обратная связь"
End Sub
'---------------------------------------------------------------------------
'Пример слабых интерактивных возможностей интерфейса:
' - Визуальная индикация начала выполнения работы отсутствует
' - Визуальная индикация окончания выполнения работы отсутствует
' - Пользовательский интерфейс не способен к отклику в процессе работы
' - 0 завершении выполнения задачи пользователь вынужден только догадываться
'---------------------------------------------------------------------------
Private Sub Button1_Click(ByVal senderAs System.Object, _
ByVal eAs System.EventArgs) Handles Button1.Click
'Имитировать выполнение работы путем создания паузы продолжительностью
'4 секунды
System.Threading.Thread.Sleep(4000)
End Sub
'------------------------------------------------------------------------
'Пример лучших интерактивных возможностей интерфейса:
' + Визуальная индикация начала выполнения работы
' (появление курсора ожидания)
' + Визуальная индикация окончания выполнения работы
' (исчезновение курсора ожидания)
' - Пользовательский интерфейс не способен к отклику в процессе работы
' + По завершении выполнения задачи конечный пользователь узнает об этом,
' а пользовательский интерфейс восстанавливает способность к отклику
'------------------------------------------------------------------------
Private Sub Button2_Click(ByVal senderAs System.Object, _
ByVal eAs System.EventArgs) Handles Button2.Click
System.Windows.Forms.Cursor.Current = _
System.Windows.Forms.Cursors.WaitCursor
'Имитировать выполнение работы путем создания паузы продолжительностью
'4 секунды
System.Threading.Thread.Sleep(4000)
System.Windows.Forms.Cursor.Current = _
System.Windows.Forms.Cursors.Default
End Sub
'-------------------------------------------------------------------------
'Пример еще лучших интерактивных возможностей интерфейса:
' + Визуальная индикация начала выполнения работы
' (появление курсора ожидания)
' + Отображение дополнительного текста, сообщающего пользователю
' о том, что происходит
' + Визуальная индикация окончания выполнения работы
' (исчезновение курсора ожидания)
' - Пользовательский интерфейс не способен к отклику в процессе работы
' + По завершении выполнения задачи конечный пользователь узнает об этом,
' а пользовательский интерфейс восстанавливает способность к отклику
' + Текстовые сообщения информируют пользователя о том, что происходит
'-------------------------------------------------------------------------
Private Sub Button3_Click(ByVal senderAs System.Object, _
ByVal e As System.EventArgs) Handles Button3.Click
'Предоставить пользователю текст, информирующий его обо всем происходящем
Label1.Text = "Ждите! Работа выполняется!"
'Заставить ПИ обновить текст
'(иначе он сделает это только тогда, когда будет перерисовывать сообщение,
'а это может произойти и после выхода из данной функции)
Label1.Update()
'Отобразить курсор ожидания
System.Windows.Forms.Cursor.Current = _
System.Windows.Forms.Cursors WaitCursor
'Имитировать выполнение работы путем создания паузы продолжительностью
'2,8 секунды
System.Threading.Thread.Sleep(2800)
'Необязательное дополнительное обновление состояния
Label1.Text = "Ждите! Работа близка к завершению!"
Label1.Update()
'Имитировать выполнение работы путем создания паузы продолжительностью
'1,2 секунды
System.Threading.Thread.Sleep(1200)
'Известить пользователя текстовым сообщением о завершении работы
'(текст обновляется всякий раз, когда ПИ выполняет обычное обновление
'экрана)
Label1.Text = "Работа успешно завершена!"
'Избавиться от курсора ожидания
System.Windows.Forms.Cursor.Current = _
System.Windows.Forms.Cursors.Default
End Sub
'==================================================================
Интервал:
Закладка: