Библиотека knigago >> Компьютеры: Операционные системы >> Android >> Программирование мобильных устройств на платформе .NET Compact Framework


"Синтаксис личности" - это исчерпывающий путеводитель по Типологии Афанасьева, мощному инструменту, раскрывающему сложный мир человеческой личности. Автору Рахель Торпусман удалось мастерски представить этот подход в доступной и увлекательной форме. Книга разделена на четыре части: * Обзор Типологии Афанасьева и ее теоретических основ * Подробное описание 12 типов личности, включая их сильные и слабые стороны * Применение Типологии Афанасьева в различных сферах жизни, таких как...

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

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

Жанр:

Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Android, Прочие ОС, Программирование: прочее, .NET Framework

Изадано в серии:

неизвестно

Издательство:

Вильямс

Год издания:

ISBN:

5-8459-0989-9

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

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

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

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

Читаем онлайн "Программирование мобильных устройств на платформе .NET Compact Framework". [Страница - 384]

не попадем в это место программы при выполнении

End Sub


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

'Попытаться передать поток ввода-вывода (например, файл) посредством IR

'[возвращаемое значение]:

' true: успешная передача файла

' false: файл не был успешно передан

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

Private Function sendStream(ByRef errorDescription As String, _

 ByRef streamOutToIrDA As System.IO.Stream, _

 ByRef irDASender As System.Net.Sockets.IrDAClient, _

 ByRef streamInFromFile As System.IO.Stream) As Boolean

 errorDescription = ""

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

 'Создание нового клиента IRDA

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

 Try

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

  'Возврат произойдет довольно быстро. Клиент будет выбран

  'и возвращен, если прослушивающие клиенты отсутствуют.

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

  irDASender = _

   New System.Net.Sockets.IrDAClient(m_IrDAServiceName)


  Catch eCreateClient As System.Exception

   'В данном случае могли возникнуть несколько ситуаций:

   '#1: отсутствуют прослушивающие устройства

   '#2: прослушивающее устройство существует, но не реагирует

   ' (может отказаться от разговора)

   errorDescription = eCreateClient.Message

   Return False

  End Try


  'В данном случае могли возникнуть несколько ситуаций:

  '#1: Мы получили соединение от приемного устройства IR

  '#2: IR-запрос был отменен (кто-то вызвал функцию STOP).

  If (m_wasSenderStopped = True) Then

   irDASender.Close()

   irDASender = Nothing

   Return False

  End If


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

 'ПЕРЕДАТЬ ДАННЫЕ!

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

 'Открыть файл, который мы хотим передать

 streamInFromFile = System.IO.File.OpenRead(m_fileToSend)

 'Открыть сокет IrDA, которому мы хотим передать данные

 streamOutToIrDA = irDASender.GetStream()


 Const BUFFER_SIZE As Integer = 1024

 Dim inBuffer() As Byte

 ReDim inBuffer(BUFFER_SIZE)

 Dim bytesRead As Integer

 Dim iTestAll As Integer

 Dim iTestWrite As Integer

 ' Цикл...

 Do

  'Считать байты из файла

  bytesRead = streamInFromFile.Read(inBuffer, 0, BUFFER_SIZE)

  iTestAll = iTestAll + 1


  'Записать байты в наш выходной поток

  If (bytesRead > 0) Then

   streamOutToIrDA.Write(inBuffer, 0, bytesRead)

   iTestWrite = iTestWrite + 1

  End If


 Loop While (bytesRead > 0)

 'Сбросить выходной поток

 streamOutToIrDA.Flush() 'Закончить запись любых данных

 streamOutToIrDA.Close() 'Закрыть поток

 streamOutToIrDA = Nothing


 'Освободить локальный файл

 streamInFromFile.Close()

 streamOutToIrDA = Nothing


 'Освободить порт IrDA

 irDASender.Close()

 irDASender = Nothing

 'Успешное завершение!!!

 Return True

End Function

End Class

Листинг 15.5. Класс IrDAFileReceive
'-------------------------------------------------------------------

'Обеспечивает прием файла через IrDA (инфракрасный порт)

'Этот класс НЕ является реентерабельным и не должен вызываться более

'чем одной функцией за один раз. Если необходимо иметь несколько

'сеансов связи через IR, это необходимо делать путем создания

'нескольких различных экземпляров данного класса.

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

Public Class IrDAFileReceive


Private m_wasListenerStopped As Boolean

Private m_IrDAServiceName As String

Private m_fileNameForDownload As String

Private m_errorDurmgTransfer As String

Private m_irListener As System.Net.Sockets.IrDAListener

Private m ReceiveStatus As ReceiveStatus


Public ReadOnly Property ErrorText() As String

 Get

  Return m_errorDuringTransfer

 End Get

End Property


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

'Различные состояния приема

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

Public Enum ReceiveStatus

 NotDone_SettingUp

 NotDone_WaitingForSender

 NotDone_Receiving

 Done_Success

 Done_Aborted

 Done_ErrorOccured

End Enum


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

' Возвращает состояние передачи

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

Public ReadOnly Property Status() As ReceiveStatus

 Get

  SyncLock (Me)

   Return m_ReceiveStatus

  End SyncLock

 End Get

End Property


Private Sub setStatus(ByVal newStatus As ReceiveStatus)

 'Обеспечить многопоточную безопасность для предотвращения

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

 SyncLock (Me)

  m_ReceiveStatus = newStatus

 End SyncLock 'end lock

End Sub


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

' (in) filename: желаемое имя для входного файла IR

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

Public Sub New(ByVal filename As String, ByVal irdaServiceName As String)

 'Имя сокета IrDA, который мы хотим открыть

 m_IrDAServiceName = irdaServiceName

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

 m_fileNameForDownload = filename

End Sub


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

'Обеспечивает асинхронный прием файла через IR

' (in) filename: имя файла, в который осуществляется запись

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

Public Sub WaitForIRFileDownloadAsync()

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

 setStatus(ReceiveStatus.NotDone_SettingUp)

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

 'Создать --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.