Przechowywałem fragmenty danych binarnych (protobufs) w bazie danych sqlite aplikacji na Androida, nie zdając sobie sprawy, że Android Cursor
może pomieścić maksymalnie 1 MB danych. Teraz wiem, że powinienem przechowywać te binarne obiekty blob w plikach i odwoływać się tylko do plików w wpisach bazy danych sqlite.Odzyskaj dużą plamę z bazy danych Android sqlite
Potrzebuję zaktualizować bazę danych (aplikacja była używana przez jakiś czas), aby przenieść te fragmenty binarne do plików. Problem polega na tym, że niektóre dane użytkownika mogły już przekroczyć limit 1 MB i nie mogę odzyskać go z bazy danych (dostęp do uzyskanego wyniku Cursor
dla pojedynczego wiersza zawierającego dużą kropelkę powoduje wyświetlenie IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialize before accessing data from it
).
Jak mogę pobrać binarne obiekty blob, które są większe niż limit 1 MB Cursor
, które zostały zapisane w bazie danych sqlite?
Hej, dzięki! To pytanie pomogło mi przeanalizować i rozwiązać ten sam problem, z którym miałem do czynienia! –