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

Тут можно читать онлайн Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Вильямс, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Программирование мобильных устройств на платформе .NET Compact Framework
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Вильямс
  • Год:
    2006
  • Город:
    Москва • Санкт-Петербург • Киев
  • ISBN:
    5-8459-0989-9
  • Рейтинг:
    4.22/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Программирование мобильных устройств на платформе .NET Compact Framework - описание и краткое содержание, автор Иво Салмре, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Программирование мобильных устройств на платформе .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)

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

Интервал:

Закладка:

Сделать

'------------------------------------------------------------------

'Функция, вызываемая фоновым потоком

' [in] threadExecute: Класс, управляющий выполнением нашего потока.

' Мы можем контролировать его для проверки

' того, не следует ли прекратить вычисления

'------------------------------------------------------------------

Public Sub ThreadEntryPoint(ByVal threadExecute As _

ThreadExecuteTask)

'Это окно сообщений будет отображаться в контексте того потока,

'в котором выполняется задача MsgBox("Выполнение ТЕСТОВОГО ПОТОКА")

'-------

' 60 раз

'-------

For m_loopX = 1 To 60

'Если затребована отмена выполнения, мы должны завершить задачу

If (threadExecute.State = _

ThreadExecuteTask.ProcessingState.requestAbort) Then

threadExecute.setProcessingState( _

ThreadExecuteTask.ProcessingState.aborted)

Return

End If

'Имитировать выполнение работы: пауза 1/3 секунды

System.Threading.Thread.Sleep(333)

Next

End Sub

End Class

Листинг 9.3. Код для запуска и тестирования приведенного выше тестового кода

'Класс, который будет управлять выполнением нового потока

Private m_threadExecute As ThreadExecuteTask

'Класс, метод которого мы хотим выполнять в асинхронном режиме

Private m_testMe As Test1

'-----------------------------------------------------------------------

'Этот код должен быть запущен ранее другого кода, поскольку он запускает

'новый поток выполнения!

'

'Создать новый поток и обеспечить его выполнение

'-----------------------------------------------------------------------

Private Sub buttonStartAsyncExecution_Click(ByVal sender _

As System.Object, ByVal e As System.EventArgs) _

Handles buttonStartAsyncExecution.Click

'Создать экземпляр класса, метод которого мы хотим вызвать

'в другом потоке

m_testMe = New Test1

'Упаковать точку входа метода класса в делегат

Dim delegateCallCode As _

ThreadExecuteTask.ExecuteMeOnAnotherThread

delegateCallCode = _

New ThreadExecuteTask.ExecuteMeOnAnotherThread(AddressOf _

m_testMe.ThreadEntryPoint)

'Дать команду начать выполнение потока!

m_threadExecute = New ThreadExecuteTask(delegateCallCode)

End Sub

'Принудительно вызвать запрещенное изменение состояния (это приведет

'к возбуждению исключения)

Private Sub buttonCauseException_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) _

Handles buttonCauseException.Click

m_threadExecute.setProcessingState( _

ThreadExecuteTask.ProcessingState.notYetStarted)

End Sub

'Послать асинхронному коду запрос с требованием отмены его выполнения

Private Sub buttonAbort_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles buttonAbort.Click

m_threadExecute.setProcessingState( _

ThreadExecuteTask.ProcessingState.requestAbort)

End Sub

'Проверить состояние выполнения

Private Sub buttonCheckStatus_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles ButtonCheckStatus.Click

'Запросить у класса управления потоком, в каком состоянии он находится

MsgBox(m_threadExecute.State.ToString())

'Запросить класс, метод которого выполняется в потоке,

'o состоянии выполнения

MsgBox(m_testMe.m_loopX.ToString())

End Sub

Листинг 9.4. Код, который должен быть помещен в класс Smartphone Form1.cs

'------------------------------------------------------

'Весь этот код должен находиться внутри класса Form1.cs

'------------------------------------------------------

'Объект, который будет выполнять все фоновые вычисления

Private m_findNextPrimeNumber As FindNextPrimeNumber

'--------------------------------------------

'Обновить текст, информирующий о состоянии...

'--------------------------------------------

Sub setCalculationStatusText(ByVal text As String)

Label1.Text = text

End Sub

Private Sub menuItemExit_Click(ByVal sender As _

System.Object, ByVal e As System.EventArgs) _

Handles menuItemExit.Click

Me.Close()

End Sub

'----------------------------------------

'Пункт меню для начала фоновых вычислений

'----------------------------------------

Private Sub menuItemStart Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) _

Handles menuItemStart.Click

'Число, с которого мы хотим начать поиск

Dim startNumber As Long = System.Convert.ToInt64(TextBox1.Text)

'Установить фоновое выполнение

m_findNextPrimeNumber = New FindNextPrimeNumber(startNumber)

'Запустить выполнение задачи в фоновом режиме...

m_findNextPrimeNumber.findNextHighestPrime_Async()

'Установить таймер, используемый для контроля длительности вычислений

Timer1.Interval = 400 '400 мс

Timer1.Enabled = True

End Sub

'--------------------------------------------

'Пункт меню для "отмены" выполняющейся задачи

'--------------------------------------------

Private Sub menuItemAbortClick(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles menuItemAbort.Click

'Не делать ничего, если вычисления не выполняются

If (m_findNextPrimeNumber Is Nothing) Then Return

'Установить поток в состояние прекращения выполнения

m_findNextPrimeNumber.setProcessingState( _

FindNextPrimeNumber.ProcessingState.requestAbort)

'Немедленно известить пользователя 'o готовности прекратить выполнение...

setCalculationStatusText("Ожидание прекращения выполнения...")

End Sub

'--------------------------------------------------------------

'Этот таймер, вызываемый потоком пользовательского интерфейса,

'позволяет отслеживать состояние выполнения 'фоновых вычислений

'--------------------------------------------------------------

Private Sub Timer1_Tick(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Timer1.Tick

'Если к моменту вызова искомое простое число еще

'не было найдено, отключить таймер

If (m_findNextPrimeNumber Is Nothing) Then

Timer1.Enabled = False

Return

End If

'-------------------------------------------------

'Если выполнение было отменено, освободить объект,

'осуществляющий поиск, и выключить таймер

'-------------------------------------------------

If (m_findNextPrimeNumber.getProcessingState = _

FindNextPrimeNumber.ProcessingState.aborted) Then

Timer1.Enabled = False

m_findNextPrimeNumber = Nothing

setCalculationStatusText("Поиск простого числа отменен")

Return

End If

'----------------------------------

'Удалось ли найти правильный ответ?

'----------------------------------

If (m_findNextPrimeNumber.getProcessingState = _

FindNextPrimeNumber.ProcessingState.foundPrime) Then

Timer1.Enabled = False

'Отобразить результат

setCalculationStatusText("Число найдено! Следующее простое число = " + _

m_findNextPrimeNumber.getPrime().ToString())

m_findNextPrimeNumber = Nothing

Return

End If

'--------------------------------------

'Вычисления продолжаются. Информировать

'пользователя о состоянии выполнения...

'--------------------------------------

'Получить два выходных значения

Dim numberCalculationsToFar As Long

Dim currentItem As Long

m_findNextPrimeNumber.getExecutionProgressInfo( _

numberCalculationsToFar, currentItem)

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Иво Салмре читать все книги автора по порядку

Иво Салмре - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


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


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

Напишите свой комментарий
x