Приложение также сохраняет изображения как byte[] в базе данных SQLite. Столбец изображений имеет тип данных BLOB.
Все это работает, как и ожидалось, на устройствах Simulator и Android, но НИ ОДИН из них не работает на устройстве iOS. Я создал эти приложения с помощью сервера сборки.
Когда я использую базу данных SQLite БЕЗ шифрования с помощью класса FilesCipher, описанного выше, изображения сохраняются, как и ожидалось, в Simulator & Android, но НЕ сохраняются. на устройстве iOS.
Когда я использую базу данных SQLite, зашифрованную с помощью класса FilesCipher, описанного выше, я могу успешно расшифровать и прочитать записи в базе данных в Simulator и Android, но в iOS это выдает ТОЛЬКО следующая ошибка.
Код: Выделить всё
java.io.IOException: SQL error in step. Code: 10
Код: Выделить всё
try {
} catch (Exception e) {
Log.p("Error " + e + "\n" + getErrorInfo(e));
//save this error log to a shareable text file
}
public String getErrorInfo(Exception error) {
StringBuilder sbError = new StringBuilder();
StackTraceElement[] errorArr = error.getStackTrace();
for (StackTraceElement value : errorArr) {
sbError.append("at ").append(value).append("\n");
}
return sbError.toString();
}
Код: Выделить всё
CREATE TABLE IF NOT EXISTS pictures ( id INTEGER PRIMARY KEY AUTOINCREMENT, image BLOB)
Код: Выделить всё
EncodedImage encodedImage = EncodedImage.create(image);
byte[] imageData = encodedImage.getImageData();
String query = "INSERT INTO pictures (image) VALUES (?)";
db.execute(query, imageData);
Примечание. FilesCipher шифрует и дешифрует байты[], а изображения сохраняются как байты. []. То есть в обоих случаях используется bytes[].
Как оба случая могут работать в iOS так же, как в Simulator и Android?
Подробнее здесь: https://stackoverflow.com/questions/789 ... dename-one