- SQLite в Windows Phone 8.1
- Работа с SQLite. Часть 1
- Добавление расширений
- Создание локальной базы данных для Windows Phone
- Создание локальной базы данных для Windows Phone
- Работа с данными в мобильных приложениях. Реализуем offline хранилище и синхронизацию данных используя Microsoft Azure и SQLite
- Azure Mobile Services SDK для синхронизации
- Настройка Azure Mobile Services
- Создаем проект приложения
- Создание локальной базы данных и синхронизация
- Интерфейс приложения
- Запуск и проверка
- Заключение
SQLite в Windows Phone 8.1
Работа с SQLite. Часть 1
SQLite представляет одну из наиболее распространенных реляционных СУБД, которая обладает такими преимуществами, как компактность, кроссплатформенность, переносимость. Поэтому базы данных SQLite нередко используются в мобильной разработке для разных ОС. Рассмотрим, как мы можем использовать SQLite при программирования для Windows Phone 8.1.
Добавление расширений
Для работы с SQLite создадим проект по типу Blank App. И вначале нам надо подключить в Visual Studio расширения. Для этого в главном меню Visual Studio выберем пункты TOOLS -> Extensions and Updates
Здесь нам надо установить два расширения: SQLite for Windows Phone 8.1 и SQLite for Windows Runtime (Windows 8.1)
После их установки добавим в проект соответствующую библиотеку. Для этого нажмем правой кнопкой мыши на узел References ->Add Reference и в списке выберем библиотеку SQLite for Windows Phone 8.1:
После этого в проект будет добавлена данная библиотека. Для взаимодействия с кодом c# также надо добавить еще одну библиотеку, которая позволит нам создавать запросы к базе данных. Для этого нажмем правой кнопкой мыши на узел References ->Manage NuGet Packages. и в поле поиска введем sqlite-pcl:
В списке найдем библиотеку Portable Class Library for SQLite и установим ее.
После добавления в узле References окажутся две одинаковые библиотеки, но с разными версиями:
Библиотеку с более ранней версией мы можем удалить.
Рядом со второй библиотекой будет отображаться желтый треугольник, который показывает, что библиотека не может применяться к любому процессору. А если мы посмотрим на настройки отладки проекта, то увидим, что для проекта установлено Any CPU . Так как цель нашего приложения — смартфон, то изменим тип процессора на ARM :
Создаваемое приложение будет очень простым. Пусть оно будет выводить список книг из библиотеки, а также предоставлять функционал для управления обектами — их созданием, удалением, редактированием и т.д.
И первым делом добавим в проект класс модели, которая будет использоваться — класс Book:
Чтобы легче управлять объектами, было бы лучше создать какую-нибудь абстракцию наподобие репозитория. Поэтому добавим в проект еще один класс BookRepository:
Этот класс производит основную работу с базой данных, и все взаимодействие будет идти через его методы.
Для управления бд в классе определяется переменная типа SQLiteConnection
Метод CreateTable() создает таблицу в бд, если таблица еще не создана. Для выполенния sql-запросов используются методы Prepare и Step() :
Методы Insert() , Update() и Delete() соответственно добавляют, обновляют и удаляют объекты. Здесь опять же используется практически стандартный синтаксис запросов sql за тем исключением, что для связи параметров с запросом используется метод Bind . Он связывает значения с параметрами, например, statement.Bind(1, book.Name)
И методы GetBooks() и GetBook() соответственно получают набор объектов и один единственный объект по id.
Теперь добавим в проект страницы и определим логику для манипуляции объектами из пользовательского интерфейса.
Создание локальной базы данных для Windows Phone
Дополнительные материалы к занятию можно скачать здесь.
Вложенные папки: LocalDataBaseSample
В новой версии операционной системы Windows Phone OS 7.1 появилась возможность хранить информацию в реляционных базах данных, которая выступает в роли изолированного контейнера приложения. Для работы с базами данных приложения Windows Phone используют операторы LINQ to SQL . С помощью LINQ to SQL можно задать схему базы данных , осуществлять извлечение данных , а также сохранять изменения в файле базы данных .
На рис. 33.1 показана связь между приложением и изолированным хранилищем. Для связи с хранилищем в приложении создается объект DataContext.
Перед началом работы с локальной базой данных нужно учесть следующее.
LINQ to SQL используется в качестве ORM engine | ||||||||||||||||||||||||||||||
Файл базы данных хранится в изолированном хранилище | ||||||||||||||||||||||||||||||
Для извлечения данных используется LINQ, T-SQL не подходит | ||||||||||||||||||||||||||||||
Локальная база данных в Windows Phone Mango не увеличивает объем приложения, так как является частью универсальной исполняющей машины | ||||||||||||||||||||||||||||||
К проекту нужно добавить ссылку на сборку System.Data.Linq | ||||||||||||||||||||||||||||||
При написании строки подключения используется специфический формат, подобный: В данной работе мы создадим базу данных, в главной таблице которой будут храниться классы позвоночных животных, а в подчиненной таблице — виды. За основу мы взяли пример, описанный на сайте Microsoft (http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx), и немного его переработали. Для работы нам потребуется новая сборка Microsoft.Phone.Controls.Toolkit.dll. Ее можно скачать по адресу: http://silverlight.codeplex.com/releases/view/60291. После инсталляции файла SilverlightforWindowsPhoneToolkit-Feb2011.msi можно узнать местонахождения файла Microsoft.Phone.Controls.Toolkit.dll следующим образом. Выполните следующую последовательность действий: Пуск -> Все программы -> Microsoft Silverlight for Windows Phone Toolkit -> Binaries. Эта сборка содержит следующие полезные компоненты:
Нам потребуется элемент управления ListPicker. Для успешной разработки приложения нужно скачать и установить Windows Phone SDK 7.1 Beta 2 по адресу http://create.msdn.com/en-us/home/getting_started. В Visual Studio создаем новое приложение Silverlight for Windows Phone . Назовем его LocalDataBaseSample. В пункте Target Windows Phone Version выберите Windows Phone 7.1. Скопируйте файл Microsoft.Phone.Controls.Toolkit.dll, описанный выше в папку вашего проекта, например, в папку …\LocalDatabaseSample\LocalDatabaseSample\Bin\Debug. Подключите сборку к проекту, выполнив следующие действия: Solution Explorer -> References -> Add Reference -> Path… -> Microsoft.Phone.Controls.Toolkit.dll. Далее, нам потребуется подключить к проекту ссылку на сборку System . Data . Linq : Solution Explorer -> References -> Add Reference -> .Net -> System.Data.Linq -> OK. Для нашего приложения необходимы четыре иконки: appbar. add .rest.png, appbar. cancel .rest.png, appbar. check .rest.png, appbar. delete .rest.png, расположенные по адресу: C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Icons\dark (64-х разрядные операционные системы) C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Icons\dark (32-х разрядные операционные системы) Создайте папку Images (Solution Explorer -> Add -> Create Folder -> Images), скопируйте туда иконки и добавьте к проекту (Solution Explorer -> Images -> Add -> Existent Item). Создание локальной базы данных для Windows PhoneДополнительные материалы к занятию можно скачать здесь. Вложенные папки: LocalDataBaseSample В новой версии операционной системы Windows Phone OS 7.1 появилась возможность хранить информацию в реляционных базах данных, которая выступает в роли изолированного контейнера приложения. Для работы с базами данных приложения Windows Phone используют операторы LINQ to SQL . С помощью LINQ to SQL можно задать схему базы данных , осуществлять извлечение данных , а также сохранять изменения в файле базы данных . На рис. 33.1 показана связь между приложением и изолированным хранилищем. Для связи с хранилищем в приложении создается объект DataContext. Перед началом работы с локальной базой данных нужно учесть следующее.
|