2013-06-17 3 views

ответ

0

Создание растрового изображения вашего изображения, то

ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
byte[] byteArray = stream.toByteArray(); 

dba.open(); 

dba.insertPhoto(byteArray); 

где дБ является объектом класса базы данных.

создать таблицу в классе базы данных, как:

private static final String CREATETABLE_PHOTO = "create table eqpphoto("EImage BLOB " + ");"; 

public static final String TABLE_PHOTO = "eqpphoto"; 

public long insertPhoto(byte[] EImage) { 

     try { 
      System.out.println("Function call : "); 
      ContentValues values = new ContentValues(); 

      values.put(EIMAGE, EImage); 
      return db.insert(TABLE_PHOTO, null, values); 
     } catch (Exception e) { 
      e.printStackTrace(); 
      return 0; 
     } 
    } 
0

Вы можете сохранить изображение в формате BLOB ...

Or. Вы можете преобразовать его с помощью Base64 и сохранить его в формате CLOB ..

выписка this link for ref

Я согласен с @tianwei, сохранение изображений, чтобы Sqlite это плохая идея. Вы должны сохранить свой путь в sqlite. Изображения большого размера по сравнению с текстовой информацией.

Было бы сложно сохранить и извлечь изображения из sqlite.

Итак, я хотел бы предложить вам сохранить изображения во внешней папке, а сохранить свой путь в базе данных sqlite.

3

Мы всегда просто сохраняем URL-адрес изображения в db.

Однако вы также можете получить байты изображения и вставить данные в db (в этом столбце находится Blob).

0

использование "blob" для хранения изображения. Вам нужно сохранить это изображение в байте Array.

сохранить изображение, которое вы можете использовать этот код:

public void insertImg(int id , Bitmap img) { 


    byte[] data = getBitmapAsByteArray(img);  
    insertStatement_logo.bindLong(1, id);  
    insertStatement_logo.bindBlob(2, data); 

    insertStatement_logo.executeInsert(); 
    insertStatement_logo.clearBindings() ; 
} 

public static byte[] getBitmapAsByteArray(Bitmap bitmap) { 
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 
    bitmap.compress(CompressFormat.PNG, 0, outputStream);  
    return outputStream.toByteArray(); 
} 
Смежные вопросы