如何将IMAGE插入SQLITE?

时间:2015-03-24 06:56:51

标签: android android-activity

我创建了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

1 个答案:

答案 0 :(得分:0)

有时将图像存储在磁盘上并将文件位置放在数据库中更有意义。然后你可以跳过整个blob< - >字节数组转换并使用普通文件操作来加载图像。

我知道没有回答您的具体问题,但如果您将流程更改为上述方法,则可能不需要原始方法,并且可能会节省一些时间和精力作为奖励。希望这会有所帮助。