我创建了Byte []并在ImageView上显示它。现在当我点击Button时,IMAGE应该进入DATABASE ..我对如何在ContentValue中放置逻辑感到困惑。
else if (requestCode == 2) {
Uri selectedImage = data.getData();
String[] filePath = {MediaStore.Images.Media.DATA};
Cursor c = getContentResolver().query(selectedImage, filePath, null, null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePath[0]);
String picturePath = c.getString(columnIndex);
c.close();
Bitmap thumbnail = (BitmapFactory.decodeFile(picturePath));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, bos);
byte[] bArray = bos.toByteArray();
imgPro.setImageBitmap(thumbnail);
}
我的内容值代码在这里
String name = iName.getText().toString();
String age = iAge.getText().toString();
String date = iDoB.getText().toString();
String gender = a1;
String ward = iWard.getText().toString();
try {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(WardRobe_Contact.KEY_NAME, name);
values.put(WardRobe_Contact.KEY_DOB, date);
values.put(WardRobe_Contact.KEY_AGE, age);
values.put(WardRobe_Contact.KEY_IDENTITY, a1);
values.put(WardRobe_Contact.KEY_PROFILE, ward);
values.put(WardRobe_Contact.KEY_IMAGE,"HERE HOW TO CAST IMAGE VIEW ??" );
long wardrobe_entry = db.insert(WardRobe_Contact.TABLE, null, values);
db.close(); // Closing database connection
Toast.makeText(getApplicationContext(), "Data Inserted Successfully", Toast.LENGTH_SHORT).show();
如何将图像设置为数据库..请提前帮助我.. thanxx
答案 0 :(得分:0)
有时将图像存储在磁盘上并将文件位置放在数据库中更有意义。然后你可以跳过整个blob< - >字节数组转换并使用普通文件操作来加载图像。
我知道没有回答您的具体问题,但如果您将流程更改为上述方法,则可能不需要原始方法,并且可能会节省一些时间和精力作为奖励。希望这会有所帮助。