sql >> Database teknologi >  >> RDS >> SQLite

Hvordan gemmer og hentes et byte-array (billeddata) til og fra en SQLite-database?

Byte-array kan gemmes som BLOB-datatype. Der er ikke noget særligt i denne procedure, undtagen særlig omhu for chunking, som:

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);
}



  1. Sådan implementeres Percona XtraDB Cluster 8 for høj tilgængelighed

  2. Prisma, hvordan man vender om rækkefølge

  3. java.lang.IllegalStateException:Kunne ikke læse række 0, col -1 fra CursorWindow - Android sqlite problem

  4. Hvordan forhindrer man dublerede brugernavne, når folk registrerer sig?