» » » Иво Салмре - Программирование мобильных устройств на платформе .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.

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






  currentCreditCard = CType( _

   currentCustomerRow(m_TestColumn_CreditCard), _

   String)

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

  If (creditCardNumber = currentCreditCard) Then

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

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

   Dim currentTravelDate As System.DateTime = CType( _

    currentCustomerRow(m_TestColumn_TravelDate), _

    System.DateTime)


   If (currentTravelDate <> newTravelDate) Then

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

    currentCustomerRow(m_TestColumn_TravelDate) = _

     newTravelDate

    numberRecordsChanged = numberRecordsChanged + 1

   End If

  End If

 Next

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

End Function


'Событие щелчка на кнопке

Private Sub buttonRunTest_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonRunTest.Click

 createDataSet()

 cacheDataSetInfo()


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

 changeDayOfTravel_test(testType.textColumnLookup)


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

 changeDayOfTravel_test(testType.cachedIndexLookup)


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

 changeDayOfTravel_test(testType.cachedColumnObject)

End Sub

Листинг 14.4. Результаты тестирования производительности при использовании пользовательского формата данных вместо объектов DataSet

'Определение размерных характеристик теста

Const DUMMY _ROWS_OF_DATA As Integer = 100

Const NUMBER_TEST_ITERATIONS As Integer = 500


Const TABLE_NAME_PASSENGERINFO As String = "CustomerTravelInfo"

Const TEST_CREDIT_CARD As String = "IvoCard-987-654-321-000"


Private m_data_creditCards() As String

Private m_data_names() As String

Private m_data_travelDates() As System.DateTime


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

'Создает массив данных (вместо использования объектов DataSet)

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

Private Sub createDataSet()

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

 '1. Создать пространство для размещения данных

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

 ReDim m_data_creditCards(DUMMY_ROWS_OF_DATA)

 ReDim m_data_names(DUMMY_ROWS_OF_DATA)

 ReDim m_data_travelDates(DUMMY_ROWS_OF_DATA)

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

 'Добавить строки данных

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

 Dim buildTestString As System.Text.StringBuilder

 buildTestString = New System.Text.StringBuilder

 Dim addItemsCount As Integer

 For addItemsCount = 0 To DUMMY_ROWS_OF_DATA

  'Выбрать день отъезда пассажира

  m_data_travelDates(addItemsCount) = _

   System.DateTime.Today.AddDays(addItemsCount)

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

  'Выбрать имя пассажира

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

  'Очистить строку

  buildTestString.Length = 0

  buildTestString.Append("TestPersonName")

  buildTestString.Append(addItemsCount)

  m_data_names(addItemsCount) = buildTestString.ToString()

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

  'Связать с пассажиром текстовый номер кредитной карточки

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

  'Строка значения третьего столбца набора данных

  buildTestString.Length = 0

  buildTestString.Append("IvoCard-000-000-0000-")

  buildTestString.Append(addItemsCount)

  m_data_creditCards(addItemsCount) = _

   buildTestString.ToString()

 Next


 'Добавить элемент, поиск которого мы хотим выполнить в нашем тесте.

 'Выбрать день для значения в первом столбце данных

 m_data_travelDates(DUMMY_ROWS_OF_DATA) = _

  System.DateTime.Today

 'Строка для второго столбца данных

 m_data_names(DUMMY_ROWS OF DATA) = "Ms. TestPerson"

 'Строка с идентификатором кредитной карточки

 m_data_creditCards(DUMMY_ROWS_OF_DATA) = TEST_CREDIT_CARD

End Sub


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

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

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

Sub changeDayOfTravel_test()

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

 System.Windows.Forms.Cursor.Current = _

  System.Windows.Forms.Cursors.WaitCursor

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

 Dim newDate As System.DateTime newDate = System.DateTime.Today

 changeDayOfTravel_CustomArrays(TEST_CREDIT_CARD, newDate)


 'ТОЛЬКО В ЦЕЛЯХ ТЕСТИРОВАНИЯ!!!

 'HE СЛЕДУЕТ использовать вызовы сборщика мусора в готовом программном

 'коде. Это ЗАМЕДЛЯЕТ работу приложения.

 System.GC.Collect()

 Const testNumber As Integer = 0


 'Запустить таймер теста

 PerformanceSampling.StartSample(testNumber, "Custom Array implementation")


 'Запустить тест!

 Dim testCount As Integer

 For testCount = 1 To NUMBER_TEST_ITERATIONS

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

  newDate = newDate.AddDays(1)

  Dim numberRecordsChanged As Integer


  'Просмотреть все имена, используя СТРОКИ

  numberRecordsChanged = _

   changeDayOfTravel_CustomArrays(ТЕST_CREDIT_CARD, newDate)


  'Убедиться в нормальном выполнении теста

  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_CustomArrays( _

 ByVal creditCardNumber As String, ByVal newTravelDate _

 As System.DateTime) As Integer

 Dim numberRecordsChanged As Integer


 'Просмотреть каждый элемент массива

 Dim index As Integer

 For index = 0 To DUMMY_ROWS_OF_DATA

  Dim currentCreditCard As String

  currentCreditCard = m_data_creditCards(index)


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

  If (creditCardNumber = currentCreditCard) Then

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

   Dim currentTravelDate As System.DateTime = _

    m_data_travelDates(index)


   'Увеличить значение счетчика обновлений только при несовпадении данных

   If (currentTravelDate <> newTravelDate) Then

    m_data_travelDates(index) = _

     newTravelDate

    numberRecordsChanged = numberRecordsChanged + 1

   End If

  End If

 Next

 'Возвратить количество обновленных записей

 Return numberRecordsChanged

End Function


Private Sub buttonRunTest_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonRunTest.Click

 createDataSet()

 changeDayOfTravel_test()

End Sub

Листинг 14.5. Пример пользовательского управления данными — код, помещаемый в форму Form1.cs

'Создает базу данных

Private Sub buttonCreateDatabase_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonCreateDatabase.Click

 DatabaseAccess.CreateAndFillDatabase()

End Sub


'Загружает данные из базы данных и отображает их

Private Sub buttonLoadGameData_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonLoadGameData.Click

 'Очистить текстовое окно

 TextBox1.Text = ""

 'Загрузить данные для слов

 GameData.InitializeGameVocabulary()


 'Обойти все слова и добавить их в текстовый список

 Dim thisStringBuilder As System.Text.StringBuilder

 thisStringBuilder = New System.Text.StringBuilder

 Dim thisWord As VocabularyWord

 For Each thisWord In GameData.AllWords

  thisStringBuilder.Append(thisWord.EnglishWord)

  thisStringBuilder.Append(" = ")

  thisStringBuilder.Append( _

   thisWord.GermanWordWithArticleIfExists)

  thisStringBuilder.Append(vbCrLf) 'Новая строка

 Next

 'Отобразить список слов в текстовом окне

 TextBox1.Text = thisStringBuilder.ToString()

End Sub

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

Option Strict On

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

'Код доступа к базе данных: Этот класс управляет доступом в

'базу данных наших приложений

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

Imports System


Friend Class DatabaseAccess

Const DATABASE_NAME As String = "LearnGerman.sdf"

Const CONNECT_STRING As String = _

 "Data Source = " + DATABASE_NAME + "; Password = ''"


Const TRANSLATIONTABLE_NAME As String = "TranslationDictionary"

Const TRANSLATIONTABLE_ENGLISH_COLUMN As String = "EnglishWord"

Const TRANSLATIONTABLE_GERMAN_COLUMN As String = "GermanWord"

Const TRANSLATIONTABLE_GERMANGENDER_COLUMN As String = "GermanGender"

Const TRANSLATIONTABLE_WORDFUNCTION_COLUMN As String = "WordFunction"


Friend Const DS_WORDS_COLUMNINDEX_ENGLISHWORD As Integer = 0


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

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

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


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

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

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

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

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

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

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