我正在编写一个使用Intent(MediaStore.ACTION_IMAGE_CAPTURE)捕获图像的应用程序。在捕获图像的过程中,我注意到了图像URI的输出。完成相机活动后,我希望使用此特定URI显示图像。使用URI在活动中显示图像
我用来捕捉图像的方法是:
private void saveFullImage() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(Environment.getExternalStorageDirectory(),
"test.jpg");
outputFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
}
这是从雷托·梅尔的书专业的Android 2应用开发采取的方法。
该方法工作正常,我假设我刚刚拍摄的图片的URI存储在outputFileUri变量中。然后在这一点的代码是我想要显示的图片:
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
if (requestCode == TAKE_PICTURE) {
//I want to display the picture I just took here
//using the URI
}
}
我不知道该怎么做。
我尝试使用方法setImageURI(outputFileUri)创建一个新的布局对象和一个新的ImageView对象。我的主布局(xml)没有ImageView对象。但即使当我将contentView设置为附加了ImageView的新布局时,它也不会显示任何内容。我试图从URI创建一个Bitmap对象并将其设置为ImageView,但我得到一个意外的错误并强制退出。
我看过这里的例子here它从URI创建一个位图,但它不显示它?
我的问题是如何在正在运行的活动中显示图像?我是否需要获取文件路径(如this)才能显示它?如果我从URI中创建一个位图,如何显示位图?
我只是可能缺少一些简单的...所以任何帮助将是一个非常感谢!
另外还有一个值得思考的问题:如果我要拍多张照片,你会推荐我使用SimpleCursorAdapter吗?
谢谢!
谢谢!虽然教程并不完全告诉如何显示位图... – evkwan 2010-12-06 03:32:45