我想在sql server中添加一些图像。我的问题是从插入或获取图像代码?
目前,我检索图像的imageview是空的。
下面是我插入图像的代码:
else {
DatabaseHelper mDatabaseHelper = new DatabaseHelper(MainActivity.this);
Cursor cursor2 = mDatabaseHelper.GetPath();
while (cursor2.moveToNext()) {
Bitmap bitmap = BitmapFactory.decodeFile(cursor2.getString(0));
ByteArrayOutputStream blob = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100 /* Ignored for PNGs */ , blob);
byte[] bitmapdata = blob.toByteArray();
String id = getIntent().getStringExtra("id");
String query = "INSERT INTO StoresData VALUES('" + arabic + "','" + english + "','1','1','1','1','1','','" + lat + "','" + longi + "','" + mob + "','','','','','','','','0','','','','" + bitmapdata + "','" + user + "','" + passwords + "','0',NULL,'" + id + "')";
Statement stmt = con.createStatement();
stmt.executeUpdate(query);
Cursor cursor = mDatabaseHelper.DeleteDataOfTableImagesAr();
while (cursor.moveToNext()) {
Toast.makeText(MainActivity.this, "Deleted images", Toast.LENGTH_LONG).show();
}
}
}
取回图像:
Blob blob = parkingList.get(position).getStoreicon();
if (blob != null) {
byte[] byteArray = new byte[0];
try {
int length = (int) blob.length();
byteArray = blob.getBytes(1, length);
} catch (SQLException e) {
e.printStackTrace();
}
Bitmap bm = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
intent.putExtra("storeicon", bm);
} else {
}
是的,我正在把图像放到一个列表视图中。
检索和获取图像是在两个不同的应用程序中完成的,这就是为什么我没有使用sqlite。
1条答案
按热度按时间pxiryf3j1#
我不能添加评论(声誉太低),但我认为
长度如您所说是可以的,.getbytes从1开始到长度,并将其存储在一个数组中。。。但是:
不应该
? 长度从1开始,数组从0开始。