2010-12-22 37 views
1

'howard.jpg'在下面的sql語句中做什麼&如何將圖像插入到我的android應用程序中?從SQL信息插入圖像

CREATE TABLE IF NOT EXISTS employee ( 
    _id INTEGER PRIMARY KEY AUTOINCREMENT, 
    firstName VARCHAR(50), 
    lastName VARCHAR(50), 
    title VARCHAR(50), 
    department VARCHAR(50), 
    managerId INTEGER, 
    city VARCHAR(50), 
    officePhone VARCHAR(30), 
    cellPhone VARCHAR(30), 
    email VARCHAR(30), 
    picture VARCHAR(200)) 



    INSERT INTO employee VALUES(1,'Ryan','Howard','Vice President, North East', 
'Management', NULL, 'Scranton','570-999-8888','570-999-8887','[email protected]','howard.jpg') 

回答

0

'howard.jpg'只是一個放入varchar列的字符串。您應該使用BLOB而不是varchar作爲jpg,並且不要輸入圖片的名稱,而要輸入實際的字節。 有關更多詳細信息,請參閱here

+0

非常感謝。 – user528057 2010-12-22 11:00:54

0

要存儲的影像文件的sqlite的內部數據庫,你應該使用BLOB字段 並且由於Android的SQLite的限制,可以儲存信息以這樣的方式

ContentValues cv = new ContentValues(); 
//your table fields goes here 
... 
// adding the bitmap in byte array way to the blob field 
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
friendInfo.getImage_bmp().compress(Bitmap.CompressFormat.PNG, 100,out); 
cv.put("avatar_img", out.toByteArray()); 
db.insert(TABLE_NAME, null, cv); 

,並閱讀它,你可以這樣做:

byte[] blob = cur.getBlob(cur.getColumnIndex("avatar_img")); 
Bitmap bmp = BitmapFactory.decodeByteArray(blob, 0,blob.length, opts); 
friend.setImage_bmp(bmp); 

朋友是和例如從類havind位圖屬性callend Image_bmp)

+0

謝謝。另一件事;如何在數據庫中插入緯度/經度,然後打算用意圖打開谷歌地圖? – user528057 2011-02-18 12:29:32

0

我試過很多方法來得到這個工作,但直到我查詢後作出

cur.moveToFirst(); 

,我只好空指針的位置:

byte[] imageByteArray = cur.getBlob(cur.getColumnIndex("myImage"));