Как можно успешно обрабатывать массив байтов в iOS с помощью Codename OneJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как можно успешно обрабатывать массив байтов в iOS с помощью Codename One

Сообщение Anonymous »

Я работаю над приложением, использующим SQLite. Оно шифрует и расшифровывает базу данных SQLite с использованием класса FilesCipher в этом ответе.
Приложение также сохраняет изображения как 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);
При вставке в iOS ошибок не возникает.
Примечание. FilesCipher шифрует и дешифрует байты[], а изображения сохраняются как байты. []. То есть в обоих случаях используется bytes[].
Как оба случая могут работать в iOS так же, как в Simulator и Android?

Подробнее здесь: https://stackoverflow.com/questions/789 ... dename-one
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»