正文

使用内置Gallery应用程序选择图像(1)

Android多媒体开发高级编程 作者:(美)艾佛瑞


为了使用一个预装Android应用程序中存在的功能,利用意图通常是最快捷的方式。出于介绍本章中示例的目的,让我们看看如何利用内置的Gallery(图像库)应用程序选择希望使用的图像。

我们将要使用的意图是一个通用的Intent.ACTION_PICK,它通知Android:我们想要选择一块数据。同时,我们还提供了一个将要从中获取数据的URI。在当前情况下,使用android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,这意味着会选择通过使用MediaStore存储在SD卡上的图像。

Intent choosePictureIntent = new Intent(Intent.ACTION_PICK,

android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

当触发这个意图时,它会以用户能够选择一幅图像的模式启动Gallery应用程序。

与通常从意图返回一样,在用户选中图像之后将触发onActivityResult方法。在返回的意图数据中,将返回所选择图像的URI。

onActivityResult(int requestCode, int resultCode, Intent intent) { 

     super.onActivityResult(requestCode, resultCode, intent);

    if (resultCode == RESULT_OK) {

         Uri imageFileUri = intent.getData();

    }

}

以下是完整的示例:

package com.apress.proandroidmedia.ch3.choosepicture;

import java.io.FileNotFoundException;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.net.Uri;

import android.os.Bundle;

import android.util.Log;

import android.view.Display;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

我们的活动会响应由按钮触发的单击事件,因此将实现OnClickListener。在onCreate方法中,使用通常的findViewById方法访问在布局XML中定义的必要UI元素。


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号