Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда следует использовать базу данных
Хотя возможности хранения и обработки мобильных устройств увеличиваются, телефоны и планшеты по-прежнему отстают от своих настольных и ноутбуковых коллег. По этой причине стоит запланировать архитектуру хранилища данных для приложения, а не просто предположить, что база данных является правильным ответом все время. Существует ряд различных вариантов, которые соответствуют различным требованиям, таким как:
- Настройки — Android предлагает встроенный механизм хранения простых пар "ключ-значение" данных. Если вы храните простые параметры пользователя или небольшие фрагменты данных (например, сведения о персонализации), используйте собственные функции платформы для хранения этой информации.
- Текстовые файлы — входные данные пользователя или кэши скачаемого содержимого (например, HTML) можно хранить непосредственно в файловой системе. Используйте соответствующее соглашение об именовании файлов, чтобы упорядочить файлы и найти данные.
- Сериализованные файлы данных — объекты можно сохранять как XML или JSON в файловой системе. Платформа .NET включает библиотеки, которые упрощают сериализацию и десериализацию объектов. Используйте соответствующие имена для упорядочивания файлов данных.
- База данных — ядро СУБД SQLite доступно на платформе Android и полезно для хранения структурированных данных, которые необходимо запрашивать, сортировать или иным образом управлять. Хранилище базы данных подходит для списков данных со многими свойствами.
- Файлы изображений. Хотя двоичные данные можно хранить в базе данных на мобильном устройстве, рекомендуется хранить их непосредственно в файловой системе. При необходимости можно сохранить имена файлов в базе данных, чтобы связать изображение с другими данными. При работе с большими изображениями или большим количеством изображений рекомендуется спланировать стратегию кэширования, которая удаляет файлы, которые больше не нужно избежать использования всего места в хранилище пользователя.
Если база данных является правильным механизмом хранения для приложения, оставшаяся часть этого документа описывает, как использовать SQLite на платформе Xamarin.
Преимущества использования базы данных
Существует ряд преимуществ использования базы данных SQL в мобильном приложении:
- Базы данных SQL позволяют эффективно хранить структурированные данные.
- Конкретные данные можно извлечь с помощью сложных запросов.
- Результаты запроса можно сортировать.
- Результаты запроса можно агрегировать.
- Разработчики с существующими навыками базы данных могут использовать свои знания для разработки кода доступа к базе данных и данным.
- Модель данных из серверного компонента подключенного приложения может использоваться повторно (в целом или частично) в мобильном приложении.
SQLite ядро СУБД
SQLite — это ядро СУБД с открытым исходным кодом, которое было принято Google для своей мобильной платформы. Ядро СУБД SQLite встроено в обе операционные системы, поэтому для разработчиков не требуется дополнительных возможностей. SQLite хорошо подходит для кроссплатформенной разработки мобильных устройств, так как:
- Ядро СУБД является небольшим, быстрым и легко переносимым.
- База данных хранится в одном файле, который легко управлять на мобильных устройствах.
- Формат файла легко использовать на разных платформах: будь то 32-разрядные или 64-разрядные и большие или маленькие системы.
- Он реализует большую часть стандарта SQL92.
Так как SQLite предназначен для небольших и быстрых, есть некоторые предостережения по его использованию:
- Некоторые синтаксисы соединения OUTER не поддерживаются.
- Поддерживаются только таблицы RENAME и ADDCOLUMN. Вы не можете вносить другие изменения в схему.
- Представления доступны только для чтения.
Дополнительные сведения о SQLite можно узнать на веб-сайте - SQLite.org - однако все сведения, необходимые для использования SQLite с Xamarin, содержатся в этом документе и связанных примерах. Ядро СУБД SQLite поддерживается в Android с Android 2. Хотя этот раздел не описан, SQLite также доступен для использования в приложениях Windows Телефон и Windows.
Windows и Windows Phone
SQLite также можно использовать на платформах Windows, хотя эти платформы не рассматриваются в этом документе. Ознакомьтесь с дополнительными сведениями о задачах и задачах Pro и ознакомьтесь с блогом Тима Хауэра.