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


Авторские права

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

Здесь можно скачать бесплатно "Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство Издательский дом "Вильямс", год 2006. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework
Рейтинг:
Название:
Программирование мобильных устройств на платформе .NET Compact Framework
Автор:
Издательство:
Издательский дом "Вильямс"
Год:
2006
ISBN:
5-8459-0989-9
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

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



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

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






 'Добавить элементы массива в строку набора данных

 myTestTable.Rows.Add(objArray)

End Sub


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

'Найти и кэшировать все индексы набора данных, которые нам нужны

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

Private Sub cacheDataSetInfo()

 'Выйти из функции, если индексы уже загружены

 If (m_indexesLookedUp = True) Then Return


 'Кэшировать индекс таблицы

 m_IndexOfTestTable = _

  m_myDataSet.Tables.IndexOf(TABLE_NAME_PASSENGERINFO)


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

 'Итерировать по всем столбцам нашей таблицы

 'и кэшировать индексы нужных столбцов

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

 mTableCustomerInfo = m_myDataSet.Tables(m_IndexOfTestTable)

 Dim dataColumnCount As Integer

 dataColumnCount = m_TableCustomerInfo.Columns.Count

 Dim myColumn As System.Data.DataColumn

 Dim colIdx As Integer

 While (colIdx < dataColumnCount)

  myColumn = m_TableCustomerInfo.Columns(colIdx)


  'Предпринимать поиск, только если это еще не сделано

  If (m_IndexOfTestColumn_CreditCard = INVALID_INDEX) Then

   'Проверить, совпадает ли имя

   If (myColumn.ColumnName = _

    COLUMN_NAME_PASSENGER_CREDIT_CARD) Then


    'Кэшировать индекс

    m_IndexOfTestColumn_CreditCard = colIdx


    'Кэшировать столбец

    m_TestColumn_CreditCard = myColumn

    GoTo next_loop_iteration 'Опустить другие операции сравнения...

   End If 'Endif: сравнение строк

  End If


  If (m _IndexOfTestColumn_TravelDate = INVALID_INDEX) Then

   'Проверить, совпадает ли имя

   If (myColumn.ColumnName = _

    COLUMN_NAME_DATE_OF_TRAVEL) Then


    'Кэшировать индекс

    m_IndexOfTestColumn_TravelDate = colIdx

    'Кэшировать столбец

    m_TestColumn_TravelDate = myColumn

    GoTo next_loop_iteration 'Опустить другие операции сравнения

   End If 'Endif: сравнение строк

  End If

next_loop_iteration:

  colIdx = colIdx + 1

 End While

 m_indexesLookedUp = True

End Sub


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

'Выполнить тест.

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

Sub changeDayOfTravel_test(ByVal kindOfTest As testType)

 'Отобразить курсор ожидания

 System.Windows.Forms.Cursor.Current = _

  System.Windows.Forms.Cursors.WaitCursor


 'Начать с известной даты

 Dim newDate As System.DateTime

 newDate = System.DateTime.Today

 changeDayOfTravel_textColumnLookup(TEST_CREDIT_CARD, newDate)


 'ДОПУСТИМО ТОЛЬКО ДЛЯ ТЕСТОВОГО КОДА!!!

 'Вызов сборщика мусора в коде ЗАМЕДЛИТ работу вашего приложения!

 System.GC.Collect()

 Const testNumber As Integer = 0


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

 Select Case (kindOfTest)

 Case testType.textColumnLookup

  PerformanceSampling.StartSample(testNumber, _

   "Text based Column lookup.")

 Case testType.cachedIndexLookup

  PerformanceSampling.StartSample(testNumber, _

   "Cached Column Index lookup.")

 Case testType.cachedColumnObject

  PerformanceSampling.StartSample(testNumber, _

   "Cached Column objects")

 Case Else

  Throw New Exception("Unknown state!")

 End Select


 'Выполнить тест!

 Dim testCount As Integer

 For testCount = 1 To NUMBER_TEST_ITERATIONS

  'Передвинуть дату вперед на один день

  newDate = newDate.AddDays(1)

  Dim numberRecordsChanged As Integer = 0


  'Какой вид теста мы выполняем?

  Select Case (kindOfTest)

  Case testType.textColumnLookup

   'НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Просмотреть все имена, используя СТРОКИ

   numberRecordsChanged = _

    changeDayOfTravel_textColumnLookup( _

    TEST_CREDIT_CARD, newDate)

  Case testType.cachedIndexLookup

   'ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные индексы

   numberRecordsChanged = _

    changeDayOfTravel_cachedColumnIndex( _

    TEST_CREDIT_CARD, newDate)

  Case testType.cachedColumnObject

   'НАИЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные объекты

   numberRecordsChanged = _

    changeDayOfTravel_CachedColumns( _

    TEST_CREDIT_CARD, newDate)

  End Select

  'Убедиться в том, что тест выполняется, как и ожидалось

  If (numberRecordsChanged <> 1) Then

   MsgBox("No matching records found. Test aborted!")

   Return

  End If

 Next

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

 PerformanceSampling.StopSample(testNumber)


 'Обычный курсор

 System.Windows.Forms.Cursor.Current = _

  System.Windows.Forms.Cursors.Default


 'Отобразить результаты выполнения теста

 Dim runInfo As String = NUMBER_TEST_ITERATIONS.ToString() + _

  "x" + DUMMY_ROWS_OF_DATA.ToString() + ": "

 MsgBox(runInfo + _

  PerformanceSampling.GetSampleDurationText(testNumber))

End Sub


'ФУНКЦИЯ ПОИСКА, ОБЛАДАЮЩАЯ НИЗКОЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ

Private Function changeDayOfTravel_textColumnLookup( _

 ByVal creditCardNumber As String, _

 ByVal newTravelDate As System.DateTime) As Integer

 Dim numberRecordsChanged As Integer


 'Найти имя таблицы

 Dim dataTable_Customers As System.Data.DataTable

 'НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск в таблице, используя

 'сравнение строк!

 dataTable_Customers = _

  m_myDataSet.Tables(TABLE_NAME_PASSENGERINFO)


 Dim currentCustomerRow As System.Data.DataRow

 For Each currentCustomerRow In dataTable_Customers.Rows

  Dim currentCreditCard As String


  'НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск в таблице, используя

  'сравнение строк!

  currentCreditCard = CType( _

   currentCustomerRow(COLUMN_NAME_PASSENGER_CREDIT_CARD), String)


  'Проверить, является ли данная кредитная карточка искомой

  If (creditCardNumber = currentCreditCard) Then

   'Изменить дату отъезда

   'НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск столбца, используя

   'сравнение строк!

   Dim currentTravelDate As System.DateTime = CType( _

    currentCustomerRow(COLUMN_NAME_DATE_OF_TRAVEL), _

    System.DateTime)

   If (currentTravelDate <> newTravelDate) Then

    'НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск столбца, используя

    'сравнение строк!

    currentCustomerRow(COLUMN_NAME_DATE_OF_TRAVEL) = _

     newTravelDate

    numberRecordsChanged = numberRecordsChanged + 1

   End If

  End If 'endif: сравнение строк

 Next 'end for each


 Return numberRecordsChanged 'Количество обновленных записей

End Function


'ФУНКЦИЯ, ХАРАКТЕРИЗУЮЩАЯСЯ НЕСКОЛЬКО ЛУЧШЕЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ

Private Function changeDayOfTravel_cachedColumnIndex( _

 ByVal creditCardNumber As String, ByVal newTravelDate _

 As DateTime) As Integer

 Dim numberRecordsChanged As Integer


 'Поиск имени таблицы

 Dim dataTable_Customers As System.Data.DataTable


 'ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: использовать кэшированный индекс

 dataTable_Customers = _

  m_myDataSet.Tables(m_IndexOfTestTable)

 Dim currentCustomerRow As System.Data.DataRow

 For Each currentCustomerRow In dataTable_Customers.Rows

  Dim currentCreditCard As String


  'ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: использовать кэшированный индекс столбца!

  currentCreditCard = CType(currentCustomerRow( _

   m_IndexOfTestColumn_CreditCard), String)

  'Проверить, совпадает ли номер кредитной карточки

  If (creditCardNumber = currentCreditCard) Then

   'Изменить дату отъезда

   'ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированный индекс столбца!

   Dim currentTravelDate As System.DateTime = CType( _

    currentCustomerRow (m_IndexOfTestColumn_TravelDate), System.DateTime)


   If (currentTravelDate <> newTravelDate) Then

    'ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированный индекс столбца!

    currentCustomerRow(m_IndexOfTestColumn_TravelDate) = _

     newTravelDate

    numberRecordsChanged = numberRecordsChanged + 1

   End If

  End If

 Next

 Return numberRecordsChanged 'Количество обновленных записей

End Function


'ФУНКЦИЯ, ОБЛАДАЮЩАЯ НАИЛУЧШЕЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ

Private Function changeDayOfTravel_CachedColumns( _

 ByVal creditCardNumber As String, _

 ByVal newTravelDate As System.DateTime) As Integer

 Dim numberRecordsChanged As Integer


 'Найти имя таблицы

 Dim dataTable_Customers As System.Data.DataTable = _

  m_TableCustomerInfo


 Dim currentCustomerRow As System.Data.DataRow

 For Each currentCustomerRow In dataTable_Customers.Rows

  Dim currentCreditCard As String

  'НАИЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированный индекс столбца!

  currentCreditCard = CType( _

   currentCustomerRow(m_TestColumn_CreditCard), _


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

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


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

Все книги автора Иво Салмре

Иво Салмре - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.