2016-10-25 11 views
3

Поскольку я не могу получить экземпляр SQLiteOpenHelper из BriteDatabase, как я могу создать скомпилированную инструкцию insert/update/delete из моей модели? Методы, возвращающие SqlDelightStatement, отмечены как устаревшие в SqlDelight 0.5.1. Я использую SqlBrite 0.8.0, и я вижу, что есть BriteDatabase#executeInsert(String, SQLiteStatement) и так далее.Как использовать новые скомпилированные утверждения в sqldelight с sqlbrite?

ответ

3

EDIT 27 декабря 2016: SQLBrite версии 1.1.0 и сейчас выставляет свою собственную getWritableDatabase()

Стоит отметить, что вызов getWritableDatabase() потенциально может создать или перенести базу данных так, убедитесь, что вы вызываете его из фоновая нить!

+0

Спасибо! Мне нужно вызвать 'close()' для объекта базы данных? –

+0

только после того, как вы закончите использовать базу данных навсегда. Если вы закрываете базу данных, пока SQLBrite все еще используется, вы столкнетесь с ошибками. Итак, когда ваше приложение будет закрыто, вы можете позвонить close – Anstrong

+0

Не появятся ли уведомления, если запись не будет выполнена через BriteDatabase? – dotgc