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

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

Интервал:

Закладка:

Сделать

const string COLUMN_NAME_PASSENGER_NAME = "PassengerName";

const string COLUMN_NAME_PASSENGER_CREDIT_CARD = "PassengerCreditCard";

const string TEST_CREDIT_CARD = "IvoCard-987-654-321-000";

//--------------------

//Создает набор данных

//--------------------

private void createDataSet() {

//1. Создать новый объект DataSet

m_myDataSet = new System.Data.DataSet("TravelService Dataset");

//2. Добавить объект DataTable в объект ADO.NET DataSet

System.Data.DataTable myTestTable;

myTestTable = m_myDataSet.Tables.Add(TABLE_NAME _PASSENGERINFO);

//Добавить 2 столбца в таблицу

//Добавить столбец данных в таблицу DataTable набора данных DataSet

myTestTable.Columns.Add(COLUMN_NAME_DATE_OF_TRAVEL,typeof(System.DateTime));

//Добавить столбец строк в таблицу DataTable набора данных

DataSet myTestTable.Columns.Add(COLUMN_NAME_PASSENGER NAME,typeof(string));

//Добавить столбец строк в таблицу DataTable набора данных DataSet

myTestTable.Columns.Add(COLUMN_NAME_PASSENGER_CREDIT_CARD,typeof(string));

//Данные для размещения в строках данных

object[] objArray;

objArray = new object[3];

//--------------------------------

//Добавить строки данных в таблицу

//--------------------------------

System.Text.StringBuilder buildTestString;

buildTestString = new System.Text.StringBuilder();

for (int addItemsCount = 0; addItemsCount < DUMMY_ROWS_OF_DATA; addItemsCount++) {

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

objArray[0] = System.DateTime.Today.AddDays(addItemsCount);

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

buildTestString.Length = 0;

buildTestString.Append("TestPersonName");

buildTestString.Append(addItemsCount);

objArray[1] = buildTestString.ToString();

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

buildTestString.Length = 0;

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

buildTestString.Append(addItemsCount);

objArray[2] = buildTestString.ToString();

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

myTestTable.Rows.Add(objArray);

}

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

objArray[0] = System.DateTime.Today;

objArray[1] = "Ms. TestPerson";

objArray[2] = TEST_CREDIT_CARD;

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

myTestTable.Rows.Add(objArray);

} //Конец функции

//---------------------------------------------------------------

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

//---------------------------------------------------------------

private void cacheDataSetInfo() {

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

if (m_indexesLookedUp == true) {

return;

}

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

m_IndexOfTestTable = m_myDataSet.Tables.IndexOf(TABLE_NAME_PASSENGERINFO);

//------------------------------------------

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

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

//------------------------------------------

m_TableCustomerInfo = m_myDataSet.Tables[m_IndexOfTestTable];

int dataColumnCount = m_TableCustomerInfo.Columns.Count;

System.Data.DataColumn myColumn;

for (int colIdx = 0; colIdx < dataColumnCount;) {

myColumn = m_TableCustomerInfo.Columns[colIdx];

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

if (m_IndexOfTestColumn_CreditCard == INVALID_INDEX) {

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

if (myColumn.ColumnName == COLUMN_NAME_PASSENGER_CREDIT_CARD) {

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

m_IndexOfTestColumn_CreditCard = colIdx;

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

m_TestColumn_CreditCard = myColumn;

goto next_loop_iteration; //Опустить другие операции сравнения...

} //Endif: сравнение строк

} //Endif

if (m_IndexOfTestColumn_TravelDate == INVALID_INDEX) {

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

if (myColumn.ColumnName == COLUMN_NAME_DATE_OF_TRAVEL) {

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

m_IndexOfTestColumn_TravelDate = colIdx;

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

m_TestColumn_TravelDate = myColumn;

goto next_loop_iteration; //Опустить другие операции сравнения.

} //Endif: сравнение строк

} //Endif

next_loop_iteration:

colIdx++;

}

m_indexesLookedUp =true;

}

//--------------

//Выполнить тест

//--------------

void changeDayOfTravel_test(testType kindOfTest) {

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

System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;

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

System.DateTime newDate;

newDate = System.DateTime.Today;

changeDayOfTravel_textColumnLookup(ТЕST_CREDIT_CARD, newDate);

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

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

System.GC.Collect();

const int testNumber = 0;

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

switch (kindOfTest) {

case testType.textColumnLookup:

PerformanceSampling.StartSample(testNumber, "Text based Column lookup.");

break;

case testType.cachedIndexLookup:

PerformanceSampling.StartSample(testNumber, "Cached Column Index lookup.");

break;

case testType.cachedColumnObject:

PerformanceSampling.StartSample(testNumber, "Cached Column objects");

break;

default:

throw new Exception("Unknown state!");

}

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

for (int testCount = 0; testCount < NUMBER_TEST_ITERATIONS; testCount++) {

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

newDate = newDate.AddDays(1);

int numberRecordsChanged = 0;

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

switch (kindOfTest) {

case testType.textColumnLookup:

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

numberRecordsChanged =

changeDayOfTravel_textColumnLookup(ТЕST_CREDIT_CARD, newDate);

break;

case testType.cachedIndexLookup:

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

numberRecordsChanged =

changeDayOfTravel_cachedColumnIndex(ТЕST_CREDIT_CARD, newDate);

break;

case testType.cachedColumnObject:

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

//столбцов

numberRecordsChanged =

changeDayOfTravel_CachedColumns(TEST_CREDIT_CARD, newDate);

break;

}

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

if (numberRecordsChanged != 1) {

System.Windows.Forms.MessageBox.Show("No matching records found. Test aborted!");

return;

}

}

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

PerformanceSampling.StopSample(testNumber);

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

System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;

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

string runInfo = NUMBER_TEST_ITERATIONS.ToString() + "x" +

DUMMY_ROWS_OF_DATA.ToString() + ": ";

System.Windows.Forms.MessageBox.Show(runInfo +

PerformanceSampling.GetSampleDurationText(testNumber));

}

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

private int changeDayOfTravel_ textColumnLookup(string creditCardNumber, System.DateTime newTravelDate) {

int numberRecordsChanged = 0;

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

System.Data.DataTable dataTable_Customers;

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

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

dataTable_Customers = m_myDataSet.Tables[TABLE_NAME_PASSENGERINFO];

foreach (System.Data.DataRow currentCustomerRow in dataTable_Customers.Rows) {

string currentCreditCard;

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

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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