Если бы вы уже некоторое время работали с базой данных Android SQLite, вы бы кое-что заметили: ее настройка требует значительного времени и большого количества шаблонного кода.
Я недавно обнаружил Сахарный ОРМ , потрясающая библиотека, которая делает работу с базой данных SQLite очень простой и менее трудоемкой.
В случае, если вы еще не знали, ORM (Объектно-реляционный картограф) позволяет вам представлять ваши данные в виде объектов, а затем сохранять эти объекты в реляционной базе данных, автоматически обрабатывая преобразование данных для вас.
Чтобы установить Sugar ORM через gradle, просто добавьте эту строку в зависимости от gradle на уровне модуля и синхронизируйте свой проект:
compile 'com.github.satyan:sugar:1.5'
Текущей версией на момент написания этой статьи является версия 1.5.
Sugar ORM требует минимальной настройки вашего файла манифеста. Вы должны указать Используйте приложение в качестве класса приложения, изменив атрибут android name в теге приложения. Вам также необходимо включить некоторые метаданные о вашей базе данных, такие как ваше имя базы данных , версия , журнал запросов и имя пакета домена . Ваш файл манифеста должен выглядеть примерно так:
При использовании ORM sugar все модели или классы данных, которые вы хотите сохранить, должны расширять SugarRecord, а также иметь, по крайней мере, пустой конструктор по умолчанию, например:
import com.orm.SugarRecord; public class Developer extends SugarRecord{ private String firstname; private String lastname; private String favouriteLanguage; public Developer(){ } public Developer(String firstname, String lastname, String favouriteLanguage){ this.firstname = firstname; this.lastname = lastname; this.favouriteLanguage = favouriteLanguage; } public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; } public String getFavouriteLanguage() { return favouriteLanguage; } public void setFavouriteLanguage(String favouriteLanguage) { this.favouriteLanguage = favouriteLanguage; } }
Как только все настроено, мы можем приступить к выполнению операций над нашей моделью.
Вставка новой записи
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Developer developer = new Developer("Kwabena", "Berko", "JavaScript"); developer.save(); } }
При вставке новой записи Sugar ORM автоматически добавляет для вас поле идентификатора с автоматическим увеличением.
Выбор существующей записи по ее идентификатору
Developer developer = Developer.findById(Developer.class, 1); // 1 is the record's id. Log.v("RESULTS", developer.getId() + ", " + developer.getFirstname() + ", " + developer.getLastname() + ", " + developer.getFavouriteLanguage() );
Обновление существующей записи
Developer developer = Developer.findById(Developer.class, 1); developer.setFavouriteLanguage("Golang"); developer.save();
Выбор всех записей
Listdevelopers = Developer.listAll(Developer.class); for(Developer developer : developers){ Log.v("RESULTS", developer.getId() + ", " + developer.getFirstname() + ", " + developer.getLastname() + ", " + developer.getFavouriteLanguage() ); }
Удаление существующей записи
Developer developer = Developer.findById(Developer.class, 1); developer.delete();
Счастливого Кодирования!
Оригинал: “https://dev.to/kwabenberko/sugar-orm-an-easier-way-to-work-with-sqlite-databases-in-android-cpg”