我可以将图像URI存储在sql DB中,以便稍后可以检索它以显示图像吗?或者它必须是完全的绝对路径?
谢谢
答案 0 :(得分:1)
您确定可以将其存储在数据库中,将其转换为字符串并在您想要使用时将其转换回来
答案 1 :(得分:0)
是的,你可以。
例如,如果你选择/拍摄图像,你将启动选择器/摄像头意图,你将得到onActivityResult
的结果,在这里你应该得到图像uri。
如果用户从图库中选择,则应执行以下操作以获取uri。
String imageUri = null;
Cursor cursor = mContext.getContentResolver().query(uri, new String[] {android.provider.MediaStore.Images.ImageColumns.DATA}, null, null, null);
cursor.moveToFirst();
if (cursor != null) {
imageUri = cursor.getString(0);
}
cursor.close();
现在,保存imageUri
如果用户从相机拍摄图像;
File photoFile = new File("your directory", "name");
Intent takePicIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePicIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePicIntent, ACTION_TAKE_PHOTO);
然后,在onActivityResult
String imageUri = photoFile.getPath();
并保存!