Сохранение InMem DB в файл Android Room

244
20 октября 2017, 12:15

Собственно, есть необходимость шифровать базу данных, сейчас работает так - все данные в бд зашифрованы, но сейчас все на SQLLite. Было решено перевести все на ORM, и выбрали Room. Нашел что в Room можно создать InMemoryDb.

inMemoryDatabaseBuilder

Builder inMemoryDatabaseBuilder (Context context, Class klass)

Creates a RoomDatabase.Builder for an in memory database. Information stored in an in memory database disappears when the process is killed. Once a database is built, you should keep a reference to it and re-use it.

Источник

По этому появилась мысль, шифровать не данные в базе а всю базу (весь файл если хотите), для обеспечения безопасности надо получать данные из файла в память(зашифрованная база), расшифровывать и подкладывать ее Room'у. При сохранении (блокировка экрана или любой onPause() случай) получать всю текущую inMemory базу шифровать и класть в файлик.

Каюсь, долго не гуглил но прямой запрос результата не дал, а решить и сообщить заказчику надо в кратчайшие сроки, по этому, если кто работал-пробовал-знает, подскажите пожалуйста, возможно ли такие манипуляции провернуть с Room? Если да, то как? Или подскажите иной адекватный ORM позволящий сделать так.

P.S. OS - Android 4.0.0 и выше

READ ALSO
Размен 100 рублей монетами 2, 5 и 10 [требует правки]

Размен 100 рублей монетами 2, 5 и 10 [требует правки]

ЗдравствуйтеКак посчитать аналитически число вариантов размена 100 рублей монетами по 10, 5 и 2 рубля? Как выглядит код прямого перебора?

317
Закрытие сокета по таймауту

Закрытие сокета по таймауту

как с этим бороться ?

246
Как распарсить файл формата .trk на байты в Java?

Как распарсить файл формата .trk на байты в Java?

Есть моделька ноты с соответствующими ей полямиИз этих нот сделана музыкальная дорожка, судя по всему у нее формат файла MIDI

244