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

Интервал:

Закладка:

Сделать

11. Добавьте в проект класс VocabularyWord, удалите из него весь добавленный по умолчанию код в окне редактора класса, и введите вместо него код из листинга 14.8.

12. Запустите приложение, нажав клавишу . Пользовательский интерфейс приложения должен выглядеть примерно так, как показано на рис. 14.4. Щелкните на кнопке buttonCreateDatabase для создания и наполнения данными базы данных SQL СЕ. Щелкните на кнопке buttonGameData с целью загрузки содержимого базы данных в память для последующего использования; в результате этого в текстовом окне должны отобразиться слова из словаря.

Рис 144 Пример управления данными не с помощью объектов DataSet Листинг - фото 54

Рис. 14.4. Пример управления данными не с помощью объектов DataSet

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

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

private void buttonCreateDatabase_Click(object sender, System.EventArgs e) {

DatabaseAccess.CreateAndFillDatabase();

}

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

private void buttonLoadGameData_Click(object sender, System.EventArgs e) {

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

textBox1.Text = "";

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

GameData.InitializeGameVocabulary();

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

System.Text.StringBuilder thisStringBuilder;

thisStringBuilder = new System.Text.StringBuilder();

foreach (VocabularyWord thisWord in GameData.AllWords) {

thisStringBuilder.Append(thisWord.EnglishWord);

thisStringBuilder.Append(" = ");

thisStringBuilder.Append(thisWord.GermanWordWithArticleIfExists);

thisStringBuilder.Append("\r\n"); //Новая строка

}

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

textBox1.Text = thisStringBuilder.ToString();

}

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

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

//Код доступа к базе данных

//

//Этот класс управляет доступом к базе данных наших приложений

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

using System;

internal class DatabaseAccess {

const string DATABASE_NAME = "LearnGerman.sdf";

const string CONNECT_STRING = "Data Source = " + DATABASE_NAME + "; Password = ''";

const string TRANSLATIONTABLE_NAME = "TranslationDictionary";

const string TRANSLATIONTABLE_ENGLISH_COLUMN = "EnglishWord";

const string TRANSLATIONTABLE_GERMAN_COLUMN = "GermanWord";

const string TRANSLATIONTABLE_GERMANGENDER_COLUMN = "GermanGender";

const string TRANSLATIONTABLE_ WORDFUNCTION_COLUMN = "WordFunction";

internal const int DS_WORDS_COLUMNINDEX_ENGLISHWORD = 0;

internal const int DS_WORDS_COLUMNINDEX_GERMANWORD = 1;

internal const int DS_WORDS_COLUMNINDEX_GERMANGENDER = 2;

internal const int DS_WORDS_COLUMNINDEX_WORDFUNCTION = 3;

static public System.Data.IDataReader GetListOfWords() {

System.Data.SqlServerCe.SqlCeConnection conn = null;

conn = new System.Data.SqlServerCe.SqlCeConnection(CONNECT_STRING);

conn.Open();

System.Data.SqlServerCe.SqlCeCommand cmd = conn.CreateCommand();

cmd.ConmandText = "select " +

TRANSLATIONTABLE_ENGLISH_COLUMN + ", " +

TRANSLATIONTABLE_GERMAN_COLUMN + ", " +

TRANSLATIONTABLE_GERMANGENDER_COLUMN + ", " +

TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " " + "from " +

TRANSLATIONTABLE_NAME;

//Выполнить команду базы данных

System.Data.SqlServerCe.SqlCeDataReader myReader =

cmd.ExecuteReader(System.Data.CommandBehavior.SingleResult);

return myReader;

}

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

//Создает базу данных в случае необходимости

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

static public void CreateDatabaseIfNonExistant() {

if (System.IO.File.Exists(DATABASE_NAME) == false) {

CreateAndFillDatabase();

}

}

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

//Создает и наполняет данными базу данных

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

static public void CreateAndFillDatabase() {

//Удалить базу данных, если она уже существует

if (System.IO.File.Exists(DATABASE_NAME)) {

System.IO.File.Delete(DATABASE_NAME);

}

//Создать новую базу данных

System.Data.SqlServerCe.SqlCeEngine sqlCeEngine;

sqlCeEngine = new System.Data.SqlServerCe.SqlCeEngine(CONNECT_STRING);

sqlCeEngine.CreateDatabase();

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

//Попытаться подключиться к базе данных

//и наполнить ее данными

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

System.Data.SqlServerCe.SqlCeConnection conn = null;

try {

conn = new System.Data.SqlServerCe.SqlCeConnection(CONNECT_STRING);

conn.Open();

System.Data.SqlServerCe.SqlCeCommand cmd = conn.CreateCommand();

//Создает таблицу перевода

//Поля:

// 1. Слова на английском языке (English)

// 2. Слова на немецком языке (German)

// 3. Грамматический род (Gender)

// 4. Тип слова

cmd.CommandText = "CREATE TABLE " + TRANSLATIONTABLE_NAME + " (" +

TRANSLATIONTABLE_ENGLISH_COLUMN + " ntext" + ", " +

TRANSLATIONTABLE_GERMAN_COLUMN + " ntext" + ", " +

TRANSLATIONTABLE_GERMANGENDER_COLUMN + " int" + ", " +

TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " int" + ")";

cmd.ExecuteNonQuery();

//Наполнить базу данных словами

FillDictionary(cmd);

} catch (System.Exception eTableCreate) {

System.Windows.Forms.MessageBox.Show("Error occurred adding table :" + eTableCreate.ToString());

} finally {

//Всегда закрывать базу данных по окончании работы

conn.Close();

}

//Информировать пользователя о создании базы данных

System.Windows.Forms.MessageBox.Show("Created langauge database!");

}

static private void FillDictionary(System.Data.SqlServerCe.SqlCeCommand cmd) {

//Глаголы

InsertEnglishGermanWordPair(cmd, "to pay", "zahlen",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);

InsertEnglishGermanWordPair(cmd, "to catch", "fangen",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);

//Добавить другие слова...

//Местоимения

InsertEnglishGermanWordPair(cmd, "What", "was",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Pronoun);

//Добавить другие слова...

//Наречия

InsertEnglishGermanWordPair(cmd, "where", "wo",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adverb);

InsertEnglishGermanWordPair(cmd, "never", "nie",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adverb);

//Добавить другие слова...

//Предлоги

InsertEnglishGermanWordPair(cmd, "at the", "am",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Preposition);

//Имена прилагательные

InsertEnglishGermanWordPair(cmd, "invited", "eingeladen",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Verb);

InsertEnglishGermanWordPair(cmd, "yellow", "gelbe",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adjective);

InsertEnglishGermanWordPair(cmd, "one", "eins",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adjective);

InsertEnglishGermanWordPair(cmd, "two", "zwei",

VocabularyWord.WordGender.notApplicable, VocabularyWord.WordFunction.Adjective);

//Имена существительные мужского рода

InsertEnglishGermanWordPair(cmd, "Man", "Mann",

VocabularyWord.WordGender.Masculine, VocabularyWord.WordFunction.Noun);

InsertEnglishGermanWordPair(cmd, "Marketplace", "Marktplatz",

VocabularyWord.WordGender.Masculine, VocabularyWord.WordFunction.Noun);

InsertEnglishGermanWordPair(cmd, "Spoon", "Löffel",

VocabularyWord.WordGender.Masculine, VocabularyWord.WordFunction.Noun);

//Имена существительные женского рода

InsertEnglishGermanWordPair(cmd, "Woman", "Frau",

VocabularyWord.WordGender.Feminine, VocabularyWord.WordFunction.Noun);

InsertEnglishGermanWordPair(cmd, "Clock", "Uhr",

VocabularyWord.WordGender.Feminine, VocabularyWord.WordFunction.Noun);

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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