База данных Android SQLite с использованием Sugar ORM

android-sugar-orm

База данных SQLite — это один из способов хранения данных приложения локально в Android. В этом уроке мы покажем вам более легкий способ работы с БД, используя Sugar ORM.

До безумия простой способ для работы с БД в Android. – Sugar ORM

Как правило, при использовании SQLite в Android требуется создание большого количества шаблонного кода, которое занимает много времени. Но с Sugar ORM, все, что вам нужно, это создать класс модели.

Настройка Sugar ORM

1. Добавьте в ваш build.gradle :зависимость

compile 'com.github.satyan:sugar:1.4'

2. Замените ваш AndroidManifest.xml на следующий:

<application android:label="@string/app_name" android:icon="@drawable/icon"
android:name="com.orm.SugarApp">
.
.
   <meta-data android:name="DATABASE" android:value="sugar_example.db" />
   <meta-data android:name="VERSION" android:value="2" />
   <meta-data android:name="QUERY_LOG" android:value="true" />
   <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example" />
.
.
</application>

Теги meta-data являются необязательными и служат следующей цели:

Metadata Description
DATABASE Имя создаваемого файла базы данных SQLite, например: app_name.db
VERSION Версия схемы вашей БД
QUERY_LOG Включить логирование сгенерированных запросов
DOMAIN_PACKAGE_NAME Пакет, где хранятся наши модели. Позволяет ускорить создание таблиц

Создание моделей

Ваша модель должна наследоваться от SugarRecord. Sugar ORM использует информацию этого класса для автоматического создания таблиц.

public class Book extends SugarRecord {
    String title;
    String edition;

    //Обязательно сохраните конструктор по умолчанию!
    public Book(){
    }

    public Book(String title, String edition){
        this.title = title;
        this.edition = edition;
 }
}

Теперь давайте посмотрим как легко мы можем выполнять основные операции с базой данных.

Делаем CRUD-операции легкими вместе с Sugar ORM

Создание

Book book = new Book("Title here", "2nd edition")
book.save();

Обновление

Book book = Book.findById(Book.class, 1);
book.title = "updated title here"; // modify the values
book.edition = "3rd edition";
book.save();

Удаление

Book book = Book.findById(Book.class, 1);
book.delete();

Получение/удаление всех записей

List<Book> books = Book.listAll(Book.class);

Book.deleteAll(Book.class);

Как видите, мы можем выполнять операции вставки/редактирования/удаления в одну строчку. Это потрясающе!

Запросы

Что это за SQL, если вы не можете использовать запросы? Sugar ORM умеет и это!

Есть 2 способа сделать запрос. Давайте рассмотрим пример, чтобы сравнить их.

Raw запросы

List<Book> books = Book.findWithQuery(Book.class, "Select * from Book where title = ?", "My book");

Query Builder

Select.from(Book.class)
.where(Condition.prop("title").eq("My book"),
Condition.prop("edition").eq("3rd edition"))
.list();

Заключение

Как видите, Sugar ORM для Android может избавить вас от большого количества шаблонного кода, необходимого для начала работы с SQLite в ваших приложениях. В этом небольшом уроке мы увидели, как легко мы можем создавать таблицы и выполнять стандартные CRUD-операции при помощи Sugar ORM. На этом все. Более полную информацию вы можете найти на официальном сайте библиотеки.

Смотрите также:

Обзор лучшей AndroidORM — ActiveAndroid

Комментарии:

1 Comment

  1. Ратмир Reply

    Доброго времени суток, а как эта ормка на счёт много табличных баз со связями ?
    Спасибо.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

2 + 3 =