我想将图像存储到SQLite数据库中,这些数据库是从相机中捕获的...这是我在构建后将相机中的图像存储到数据库中以捕获图像的代码.....
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.photobtn:
i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, camaradata);
break;
case R.id.submit:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
bmp = (Bitmap) extras.get("data");
imageview.setImageBitmap(bmp);
}
}
答案 0 :(得分:0)
你必须使用“blob”存储图像(位图)。
db.execSQL("CREATE TABLE Funny(picid TEXT,myimage BLOB,gender TEXT,country TEXT)");
使用以下方法插入数据:
public void insert(String string,byte[] bytes,String gender,String country) {
ContentValues cv=new ContentValues();
cv.put("picid",string);
cv.put("myimage",bytes);
cv.put("gender", gender);
cv.put("country", country);
getWritableDatabase().insert("Funny","gender", cv);
Log.e("inserted", "inserted");
}
例如:将图像存储到db
public void insertImg(int id , Bitmap img ) {
byte[] data = getBitmapAsByteArray(img); // this is a function
db.insert("01",data,"male","Pakistan");
}
public static byte[] getBitmapAsByteArray(Bitmap bitmap) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0, outputStream);
return outputStream.toByteArray();
}
并从db
中检索图像public Bitmap getImage(int i){
String qu = "select myimage from Funny where picid=" + i ;
Cursor cur = db.rawQuery(qu, null);
if (cur.moveToFirst()){
byte[] imgByte = cur.getBlob(0);
cur.close();
return BitmapFactory.decodeByteArray(imgByte, 0, imgByte.length);
}
if (cur != null && !cur.isClosed()) {
cur.close();
}
return null ;
}
答案 1 :(得分:0)
将图像存储到数据库中并不是一个好主意,只需将其存储到外部存储器中,并将链接保存到数据库中。
有关数据存储的优秀教程: http://developer.android.com/training/basics/data-storage/files.html
然后在必要时保存数据库的路径: http://developer.android.com/training/basics/data-storage/databases.html
或简单地进入共享偏好: http://developer.android.com/training/basics/data-storage/shared-preferences.html