¿Cómo almacenar y recuperar una matriz de bytes (datos de imagen) hacia y desde una base de datos SQLite?

¿Cómo almaceno y recupero una matriz de bytes (datos de imagen) desde y hacia una base de datos SQLite en Android?

La matriz de bytes se puede almacenar como tipo de datos BLOB. No hay nada especial en este procedimiento, excepto el cuidado especial para fragmentación, como:

InputStream is = context.getResources().open(R.drawable.MyImageFile); try { byte[] buffer = new byte[CHUNK_SIZE]; int size = CHUNK_SIZE; while(size == CHUNK_SIZE) { size = is.read(buffer); //read chunks from file if (size == -1) break; ContentValues cv = new ContentValues(); cv.put(CHUNK, buffer); //CHUNK blob type field of your table long rawId = database.insert(TABLE, null, cv); //TABLE table name } } catch (Exception e) { Log.e(TAG, "Error saving raw image to: "+rawId, e); }