我正在編寫一個使用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