Czytałem, przeglądałem, dużo szukałem, wielokrotnie przeplatałem się w tę iz powrotem i udało mi się zawęzić problem tak bardzo, jak tylko mogłem.Używanie sqlite android w pamięci
Jedyne, czego nie rozumiem, to jak w pełni korzystać z bazy danych SQLite w pamięci.
Oto moja sytuacja - mam zaszyfrowaną bazę SQLite, którą odszyfrowuję podczas ładowania mojej aplikacji (ta część działa na pewno). Moja klasa, która współdziała z bazą danych, działa na pewno za pomocą zwykłej bazy danych. W skrócie, wszystko jest bezbłędne dzięki zwykłemu DB, które jest ładowane z wewnętrznej pamięci telefonu, ale nie jestem pewien, jak i gdzie przechowywać odszyfrowaną bazę danych w pamięci, aby mogła zostać zinterpretowana jako normalna DB.
Chyba powinienem umieścić null
zamiast nazwy w super(context, null, null, 3);
i używać :memory:
zamiast ścieżki w SQLiteDatabase.openDatabase()
, ale wciąż nie w pełni zrozumieć. Mówi, że nie może znaleźć tabeli android_metadata
, ale jestem pewien, że baza danych jest taka jaka powinna być.
nadzieję, że było jasne w tej sprawie :)
Tried [SQLCipher] (http://sqlcipher.net/sqlcipher-for-android/)? – Jens
Nie zastanawiałem się zbytnio. Nie znalazłem go, kiedy po raz pierwszy szukałem, więc opracowałem własne, dwuetapowe "szyfrowanie". Dzięki za link, przyjrzę się. Czy możesz mi powiedzieć, jak bezpieczny jest SQLCipher i czy kompresuje dane? – Grandpa
256-bitowe szyfrowanie AES jest w porządku - i nie będziesz prawdopodobnie sam dokonywał lepszej implementacji. – Jens