ORMLite и изображения, сохраненные как BLOB на Android

Итак, я недавно переключил свою базу данных на ORMLite в моем приложении для Android-планшета, которое я пишу. Пока все хорошо, многое было отредактировано / перекодировано. Хотя у меня возникают проблемы с тем, что изначально хранилось в базе данных как BLOB. В моей исходной модели данных это выглядело так:

byte[] imageBytes;

но я не думаю, что могу использовать это в ORMLite, лучше всего я могу сказать, что это должна быть строка, поэтому теперь у меня есть:

@DatabaseField
String picture;

Но теперь я запутался относительно того, как читать и записывать эти биты данных как байты и т. д. Я использовал такой код для передачи данных в и из базы данных:

...
//Set the clients image to what was captured...
Bitmap resized2= android.graphics.Bitmap.createScaledBitmap(thumbnail, thumbnail.getWidth()/2, thumbnail.getHeight()/2, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();  
resized2.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object   
byte[] b = baos.toByteArray();  

mClient.setImageBytes(b);
myImage.setImageBitmap(resized2);
//do save to the database of the image to the blob whose column is picture
ContentValues initialValues = new ContentValues();
initialValues.put("picture", mClient.getImageBytes());
String [] strArray = {""+sid};
long n = dbAdapter.updateRecordsInDB("clients", initialValues, "_id=?", strArray);      

Итак, вот как я БЫЛ сохранял изображение, я не уверен, как чтобы сделать это, если в ORMLite нет BLOB-объектов и мне нужно использовать строки?

для полноты, вот как я бы отобразил изображение:

if(mClient.getImageBytes().length <= 1) //no image in database, thats fine use generic
    myImage.setImageResource(R.drawable.sillo); // create a sillouhtette face icon here...
else
    myImage.setImageBitmap((BitmapFactory.decodeByteArray(mClient.getImageBytes(),0, (mClient.getImageBytes()).length)));

Итак, что мне нужно сделать, чтобы эти изображения входили и выходили базы данных, и подходит ли тип поля String для "Blob"?

15
задан Codejoy 26 July 2011 в 20:06
поделиться