MyBooks.club
Все категории

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

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework. Жанр: Программирование издательство -,. Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
Программирование мобильных устройств на платформе .NET Compact Framework
Автор
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
254
Читать онлайн
Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework

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

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

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

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

 m_vocabularyWords_All = New System.Collections.ArrayList

 m_vocabularyWords_Nouns = New System.Collections.ArrayList

 m_vocabularyWords_Verbs = New System.Collections.ArrayList

 m_vocabularyWords_Adjectives = _

  New System.Collections.ArrayList

 m_vocabularyWords Adverbs = _

  New System.Collections.ArrayList

 m_vocabularyWords_Prepositions = _

  New System.Collections.ArrayList


 Dim dataReader As System.Data.IDataReader

 dataReader = DatabaseAccess.GetListOfWords()


 Dim newWord As VocabularyWord

 'Обойти все записи

 While (dataReader.Read())

  Dim thisword_gender As VocabularyWord.WordGender

  Dim thisword_function As VocabularyWord.WordFunction

  thisword_gender = CType(dataReader.GetInt32( _

   DatabaseAccess.DS_WORDS_COLUMNINDEX_GERMANGENDER), _

   VocabularyWord.WordGender)

  thisword_function = CType(dataReader.GetInt32( _

   DatabaseAccess.DS_WORDS_COLUMNINDEX_WORDFUNCTION), _

   VocabularyWord.WordFunction)


  'Поместить данные для только что считанного слова в класс

  newWord = New VocabularyWord(dataReader.GetString( _

   DatabaseAccess.DS_WORDS_COLUMNINDEX_ENGLISHWORD), dataReader.GetString( _

   DatabaseAccess.DS_WORDS_COLUMNINDEX_GERMANWORD), _

   thisword_gender, thisword_function)


  'Добавить новое слово в массив списков

  m_vocabularyWords_All.Add(newWord)


  'Слова могут принадлежать нескольким группам, поэтому

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

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

  If ((newWord.getWordFunction And _

   VocabularyWord.WordFunction.Noun) <> 0) Then

   m_vocabularyWords_Nouns.Add(newWord)

  End If


  If ((newWord.getWordFunction And _

   VocabularyWord.WordFunction.Verb) <> 0)

   Then m_vocabularyWords_Verbs.Add(newWord)

  End If


  If ((newWord.getWordFunction And _

   VocabularyWord.WordFunction.Adjective) <> 0) Then

   m_vocabularyWords_Adjectives.Add(newWord)

  End If


  If ((newWord.getWordFunction And _

   VocabularyWord.WordFunction.Adverb) <> 0) Then

   m_vocabularyWords_Adverbs.Add(newWord)

  End If


  If ((newWord.getWordFunction And _

   VocabularyWord.WordFunction.Preposition) <> 0) Then

   m_vocabularyWords_Prepositions.Add(newWord)

  End If

 End While

 'Закрыть объект DataReader

 dataReader.Close()

End Sub

End Class

Листинг 14.8. Пример кода управления данными для VocabularyWord.cs

Option Strict On

Imports System

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

'Хранит данные слова из словаря

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

Friend Class VocabularyWord


<System.FlagsAttribute()> _

 Public Enum WordFunction

 Noun = 1

 Verb = 2

 Pronoun = 4

 Adverb = 8

 Adjective = 16

 Preposition = 32

 Phrase = 64

End Enum


Public Enum WordGender

 notApplicable = 0

 Masculine = 1

 Feminine = 2

 Neuter = 3

End Enum


Private m_englishWord As String

Private m_germanWord As String

Private m_germanGender As VocabularyWord.WordGender

Private m_wordFunction As VocabularyWord.WordFunction


Public ReadOnly Property EnglishWord() As String

 Get

  Return m_englishWord

 End Get

End Property

Public ReadOnly Property GermanWord() As String

 Get

  Return m_germanWord

 End Get

End Property

Public ReadOnly Property getWordFunction() As WordFunction

 Get

  Return m_wordFunction

 End Get

End Property

Public ReadOnly Property getWordGender() As WordGender

 Get

  Return m_germanGender

 End Get

End Property


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

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

'(например, 'der', 'die', 'das'), если он существует

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

Public ReadOnly Property GermanWordWithArticleIfExists() As String

 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. Вызвать функцию в асинхронном режиме и поручить

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


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

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


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

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

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.