[英]capture image from camera and store in database
我想將圖像存儲到從相機捕獲的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);
}
}
您必須使用“斑點”來存儲圖像(位圖)。
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");
}
例如:將圖像存儲到數據庫中
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();
}
並從數據庫中檢索圖像
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 ;
}
將圖像存儲到數據庫中不是一個好主意,只需將其存儲到外部存儲中,然后將鏈接保存到數據庫中即可。
關於數據存儲的好教程: 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.