Метод вставки: -
public void agregarProducto(String nombre, String precio, String info, byte[] foto){
SQLiteDatabase db=getWritableDatabase();
if(db!=null){
if(info.equals("Bebidas")){
db.execSQL("INSERT INTO BEBIDAS VALUES('"+nombre+"','"+precio+"','"+info+"','"+foto+"')");
db.close();
}
}
}
Не будет вставлять BLOB, скорее всего, будет вставлено значение указателя байта [].
Необходимо указать BLOBкак x'??????????'
, где знаки вопроса являются шестнадцатеричным представлением байтов в массиве. например, x'00F1F2F3 '.
Простой способ преобразования байтового массива в подходящий формат - это позволить удобному методу SQLiteDatabase insert выполнить преобразование наваше имя.
Таким образом, измените вышеуказанный метод следующим образом: -
public long agregarProducto(String nombre, String precio, String info, byte[] foto){
SQLiteDatabase db=getWritableDatabase();
ContentValues cv = new ContentValues();
if(db!=null){
if(info.equals("Bebidas")){
cv.put("NOMBRE",nombre);
cv.put("PRECIO",precio);
cv.put("INFO",info);
cv.put("FOTO",foto);
db.insert("BEBIDAS",null,cv);
db.close();
}
}
}
- обратите внимание, что метод вернет long, он будет> 0, если вставка сработала,иначе это будет -1, указывая, что ничего не было вставлено.