2013-02-23 91 views
0

我有數據庫,我有3列(第一Id,第二標題String,第三圖像int)。 DB喜歡帶照片的聯繫人列表。如何將圖像保存到數據庫中?

ContentValues cv = new ContentValues(); 
cv.put(COLUMN_TITLE, "John"); 
cv.put(COLUMN_IMG_OUTSIDE, R.drawable.john_photo); 
db.insert(DB_TABLE, null, cv)); 

然後用SimpleCursorAdapter我填補名稱列表和他們的照片

SimpleCursorAdapter scAdapter; 
String[] from = new String[] { DataBase.COLUMN_IMG_OUTSIDE,DataBase.COLUMN_TITLE}; 
int[] to = new int[] { R.id.img, R.id.text1, }; 

cursor = db.getAll(); 
startManagingCursor(cursor); 

scAdapter = new SimpleCursorAdapter(ListOfItems.this, R.layout.list, cursor, from, to); 
listView.setAdapter(scAdapter); 

全部是工作,但是當我想添加記錄數據庫,然後從Galery一幅畫,我不知道如何將其保存在數據庫中。我想我可以保存文件的路徑,如String path = "/sdcard/DCIM/Camera/IMG20130222_008.jpg";但是,當我填充列表時,會出現問題,因爲數據庫圖像正像整數值一樣保存。對不起,我的英語=(

回答

1

也許你應該嘗試將整個圖像保存到數據庫的BLOB?

Android How to save camera images in database and display another activity in list view?

在這種情況下,你必須編寫自己的CursorAdapter,然後看到這個
Images in SimpleCursorAdapter

+0

我認爲ican在BD中添加一列,然後保存一個圖片路徑,然後編寫一個自己的適配器,用於檢查哪一列是一個圖像,如果列整數爲空,則下一個 _italic_ ** bold ** '文件imgFile =新文件(路徑); 位圖myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); myImageView.setImageBitmap(myBitmap);' – 2013-02-23 15:41:40

+0

是的,自定義適配器是要走的路。就我個人而言,我不喜歡用blob來存儲圖像,但只要有可能,存儲圖像路徑是我的第一選擇。 – 2013-02-24 03:11:10

相關問題