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

Тут можно читать онлайн Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Вильямс, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework
  • Название:
    Программирование мобильных устройств на платформе .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 - читать книгу онлайн бесплатно, автор Иво Салмре
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Get

If (m_germanGender = WordGender.notApplicable) Then

Return Me.GermanWord

End If

Return Me.GenderArticle + " " + Me.GermanWord

End Get

End Property

Public ReadOnly Property GenderArticle() As String

Get

Select Case (m_germanGender)

Case WordGender.Masculine

Return "der"

Case WordGender.Feminine

Return "die"

Case WordGender.Neuter

Return "das"

End Select

Return ""

End Get

End Property

Public Sub New(ByVal enlgishWord As String, ByVal germanWord _

As String, ByVal germanGender As WordGender, _

ByVal wordFunction As WordFunction)

m_englishWord = enlgishWord

m_germanWord = germanWord

m_germanGender = germanGender

m_wordFunction = wordFunction

End Sub

End Class

Примеры к главе 15 (передача данных)

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

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

Листинг 15.2. Имитация сбоев при передаче данных для тестирования приложения

'Флаги условной компиляции для нашего инструментированного кода

#Const DEBUG_SIMULATE_FAILURES = 1 'Имитировать сбои

'#Const DEBUG_SIMULATE_FAILURES = 0 'Не имитировать сбои

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

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

'необходимости генерации исключений в процессе передачи данных

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

#If DEBUG_SIMULATE_FAILURES <> 0 Then

'Переменная для хранения информация о следующем сбое

Shared g_failureCode As SimulatedFailures = _

SimulatedFailures.noFailurePending

'Список сбоев, которые мы хотим имитировать

public enum SimulatedFailures

noFailurePending 'No test failures pending

'Имитируемые сбои:

failInNextWriteSocketCode

failInNextWebServiceCall

failInNextFileIODuringFileOpen

failInNextFileIODuringFileRead

'и так далее

End Enum

#End If 'DEBUG_SIMULATE_FAILURES

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

'Функция, которую мы используем для передачи данных.

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

Private Sub writeDataToSocket( _

ByVal mySocket As System.Net.Sockets.Socket, _

ByVal dataToSend() As Byte)

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

'Этот код следует компилировать лишь при тестировании сетевых сбоев

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

#If DEBUG_SIMULATE_FAILURES <> 0 Then

'Если это сбой, который мы хотим тестировать, генерировать исключение

If (g_failureCode = _

SimulatedFailures.failInNextWriteSocketCode) Then

'Сбросить этот сбой, чтобы он не возник

'при следующем вызове этой функции

g_failureCode = SimulatedFailures.noFailurePending

Throw New Exception("Test communications failure: " + _

g_failureCode.ToString())

End If

#End If

'Передать данные обычным образом.

mySocket.Send(dataToSend)

End Sub

Листинг 15.3. Тестовый код, который необходимо поместить в класс формы для тестирования передачи и приема данных посредством механизма IrDA

'Имя, которое мы хотим присвоить сокету IrDA

Const myIrDASocketName As String = "IrDaTestFileTransmit"

Private Sub buttonTestFileSend_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles buttonTestFileSend.Click

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

Const fileName As String = "\myTestSendFile.txt"

Dim textFileStream As System.IO.StreamWriter

textFileStream = System.IO.File.CreateText(fileName)

textFileStream.WriteLine("Today...")

textFileStream.WriteLine("is а nice day")

textFileStream.WriteLine("to go swim")

textFileStream.WriteLine("in the lake")

textFileStream.Close()

Dim irdaFileSender As IrDAFileSend

irdaFileSender = New IrDAFileSend(fileName, myIrDASocketName)

'Имеется 2 режима: 1 - Sync (синхронный), 2 — Async (асинхронный)

'1. Вызвать функцию в синхронном режиме

'и блокировать поток выполнения до тех пор,

'пока файл не будет передан

'1a. Информировать пользователя о том, что мы пытаемся передать данные

Me.Text = "Trying to send..."

'Подождать, пока клиент не будет найден, а затем передать файл

irdaFileSender.LoopAndAttemptIRSend()

'1c. Информировать пользователя о том, что файл передан

MsgBox("File sent!")

Me.Text = "IrDA: Sent!"

'2. Вызвать функцию в асинхронном режиме и поручить

'передачу файла фоновому потоку

'irdaFileSend.LoopAndAttemptIRSendAsync()

'ПРИМЕЧАНИЕ: Если мы вызываем функцию в асинхронном режиме, то должны

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

'вызова метода 'irdaFileSend.Status'

End Sub

Private Sub buttonTestFileReceive_Click(ByVal sender As Object, _

ByVal e As EventArgs) Handles buttonTestFileReceive.Click

'Если файл назначения уже существует, уничтожить его

Const fileName As String = "\myTestReceiveFile.txt"

If (System.IO.File.Exists(fileName)) Then

System.IO.File.Delete(fileName)

End If

Dim irdaFileReceiver As IrDAFileReceive

irdaFileReceiver = New IrDAFileReceive(fileName, _

myIrDASocketName)

'Имеется 2 режима: 1 — Sync (синхронный), 2 - Async (асинхронный)

'1. Вызвать функцию в синхронном режиме

' блокировать поток выполнения до тех пор, пока

'файл не будет получен

'1a. Информировать пользователя о том, что мы ожидаем получения файла

Me.Text = "Waiting to receive..."

'1b. Ожидать, пока не будет сделана попытка установления с нами связи

'и передачи файла

irdaFileReceiver.WaitForIRFileDownload()

'1с. Информировать пользователя о том, что мы получили переданный файл

Me.Text = "IrDA: received!"

MsgBox("File received!")

'2. Вызвать функцию в асинхронном режиме и поручить

'получение файла фоновому потоку

'irdaFileReceive.WaitForIRFileDownloadAsync()

'ПРИМЕЧАНИЕ: Если мы вызываем функцию в асинхронном режиме, то должны

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

'вызова метода 'irdaFileReceive.Status'

End Sub

Листинг 15.4. Класс IrDAFileSend

Option Strict On

'====================================================================

'Этот класс является клиентом IrDA. Он осуществляет поиск сервера

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

'он найден, направляет ему поток данных файла,

'====================================================================

Class IrDAFileSend

Private m_descriptionOfLastSendAttempt As String

Private m_IrDAServiceName As String

Private m_fileToSend As String

Private m_wasSenderStopped As Boolean

Public Enum SendStatus

AttemptingToSend

Finished_Successfully

Finished_Aborted

Finished_Error

End Enum

Private m_SendStatus As SendStatus

Public ReadOnly Property Status() As SendStatus

Get

'Блокировка выполнения параллельных операций чтения/записи в m_SendStatus

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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