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

Интервал:

Закладка:

Сделать

rootElement = (System.Xml.XmlElement)xmlDocument.ChildNodes[0];

//Убедиться в том, что корневой узел согласуется с ожидаемым текстом,

//ибо противное означает, что мы имеем дело с каким-то другим XML-файлом

if (rootElement.Name != XML_ROOT_TAG) {

throw new Exception("Тип корневого узла не совпадает с ожидаемым!");

}

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

//Простой конечный автомат для итеративного обхода всех узлов

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

foreach(System.Xml.XmlElement childOf_RootNode in rootElement.ChildNodes) {

//Если это узел UserInfo, то мы хотим просмотреть его содержимое

if (childOf_RootNode.Name == XML_USERINFO_TAG) {

gotUserInfoData = true; //Пользовательские данные найдены

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

//Загрузить каждый из подэлементов

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

foreach(System.Xml.XmlElement child_UserDataNode in childOf_RootNode.ChildNodes) {

//Идентификатор пользователя (UserID)

if (child_UserDataNode.Name == XML_USERID_TAG) {

userId = System.Convert.ToInt32(child_UserDataNode.InnerText);

}

//ФИО пользователя (UserName)

else if (child_UserDataNode.Name == XML_NAMEINFO_TAG) {

foreach(System.Xml.XmlElement child_Name in child_UserDataNode.ChildNodes) {

//Имя (FirstName)

if (child_Name.Name == XML_FIRSTNAME_TAG) {

firstName = child_Name.InnerText;

}

//Фамилия (LastName)

else if (child_Name.Name == XML_LASTNAME_TAG) {

lastName = child_Name.InnerText;

}

}//Конец цикла разбора UserName

}//Конец оператора if, осуществляющего проверку UserName

}//Конец цикла разбора UserInfo

}// Конец оператора if, осуществляющего проверку UserInfo

}//Конец цикла разбора корневого узла

if (gotUserInfoData == false) {

throw new Exception ("Данные пользователя в XML-документе не найдены!");

}

}

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

//Сохраняет пользовательское состояние

//

// [in] fileName: Имя файла, используемого для сохранения данных

// [in] userId:Идентификатор пользователя, которыймы хотим сохранить

// [in] firstName: Имя пользователя, которое мы хотим сохранить

// [in] lastName: Фамилия пользователя, которую мы хотим сохранить

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

public static void XML_SaveUserInfo(string fileName, int userId, string firstName, string lastName) {

System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument();

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

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

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

System.Xml.XmlElement rootNodeForDocument;

rootNodeForDocument = xmlDocument.CreateElement(XML_ROOT_TAG);

xmlDocument.AppendChild(rootNodeForDocument);

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

//Добавить данные в элемент UserInfo

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

System.Xml.XmlElement topNodeForUserData;

topNodeForUserData = xmlDocument.CreateElement(XML_USERINFO_TAG);

rootNodeForDocument.AppendChild(topNodeForUserData);

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

//Добавить значение UserID в наш документ

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

//Создать подузел для информации о пространстве имен

System.Xml.XmlElement subNodeForUserID;

subNodeForUserID = xmlDocument.CreateElement(XML_USERID_TAG);

subNodeForUserID.InnerText = System.Convert.ToString(userId);

//Присоединить подузел UserID к узлу высшего уровня

topNodeForUserData.AppendChild(subNodeForUserID);

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

//Добавить все значения NameInfo в наш документ

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

//Создать подузел для информации о пространстве имен

System.Xml.XmlElement subNodeForNameInfo;

subNodeForNameInfo = xmlDocument.CreateElement(XML_NAMEINFO_TAG);

//Имя (FirstName)

System.Xml.XmlElement subNodeFirstName;

subNodeFirstName = xmlDocument.CreateElement(XML_FIRSTNAME_TAG);

subNodeFirstName.InnerText = firstName;

//Фамилия (LastName)

System.Xml.XmlElement subNodeLastName;

subNodeLastName = xmlDocument.CreateElement(XML_LASTNAME_TAG);

subNodeLastName.InnerText = lastName;

//Присоединить подузлы имени и фамилии к родительскому

//узлу NameInfo

subNodeForNameInfo.AppendChild(subNodeFirstName);

subNodeForNameInfo.AppendChild(subNodeLastName);

//Присоединить подузел NameInfo (вместе с его дочерними узлами)

//к узлу высшего уровня

topNodeForUserData.AppendChild(subNodeForNameInfo);

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

//Сохранить документ

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

try {

xmlDocument.Save(fileName);

}

catch (System.Exception ex) {

System.Windows.Forms.MessageBox.Show("Ошибка при сохранении XML-документа - " + ex.Message);

}

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

} //Конец класса

Листинг 10.2. Вызов кода, предназначенного для сохранения и загрузки XML-документа

private void button1_Click{object sender, System.EventArgs e) {

const string FILENAME = "TestFileName.XML";

//Сохранить, используя XML DOM

SaveAndLoadXML UseDOM.XML_SaveUserInfo(FILENAME, 14, "Ivo", "Salmre");

//Сохранить, используя объект однонаправленной записи XMLWriter

//SaveAndLoadXML_UseReaderWriter.XML SaveUserInfo(FILENAME,

// 18, "Ivo", "Salmre");

int userID;

string firstName;

string lastName;

//Загрузить, используя XML DOM

SaveAndLoadXML_UseDOM.XML_LoadUserInfo(FILENAME, out userID, out firstName, out lastName);

//Загрузить, используя объект однонаправленного чтения XMLReader

//SaveAndLoadXML_UseReaderWriter.XMILoadUserInfo(FILENAME,

// out userID, out firstName, out lastName);

System.Windows.Forms.MessageBox.Show('Готово!" + userID.ToString() + ", " + lastName + ", " + firstName);

}

Модель однонаправленного чтения-записи XML-данных

В отличие от подхода XML DOM, обеспечивающего произвольный доступ к XML-данным и интенсивно использующего информацию о состоянии, объекты XMLReader и XMLWriter обеспечивают лишь возможности однонаправленного доступа. Они поддерживают минимальный объем информации о состоянии, которого достаточно для чтения и записи XML-данных, и не пытаются создавать в памяти дерево XML-данных или работать с ним. В этом случае говорят о моделях однонаправленного доступа, поскольку они поддерживают программный курсор, указывающий на текущую позицию в XML-файле, и позволяют работать только с находящимися в этом месте данными; курсор может перемещаться только в прямом направлении, но не в обратном. Объект XMLReader предлагает много возможностей, но в приложениях используется в основном для прохождения узлов XML-документа. При чтении XML-документа XMLReader каждый раз считывает только один узел и связанные с ним атрибуты; это напоминает чтение обычного файла по одной строке за один раз. Когда разработчик заканчивает просмотр узла и его атрибутов, он отдает объекту XMLReader команду перейти к следующему элементу, в результате чего XMLReader сбрасывает содержащуюся в нем информацию, которая относится к содержимому текущего узла. Однонаправленность доступа является необходимой платой за достижение наилучшей производительности и снижение накладных расходов.

Следует отметить, что XML DOM строится поверх классов XMLReader и XMLWriter. XML DOM использует XMLReader для синтаксического анализа XML-документа и создает в памяти дерево на основе считанных данных. При записи XML-документа DOM итеративно проходит узлы находящегося в памяти дерева и выводит их через XMLWriter в поток или файл. Как следствие, все, что можно сделать с использованием XML DOM, можно сделать, используя XMLReader и XMLWriter. XML DOM делает все возможное для того, чтобы с наибольшей эффективностью выполнять функции универсального XML-анализатора с произвольным доступом, максимально использующего информацию о состоянии.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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