`

调用系统照相机,将照片保存在SDK上,并将照片赋值给一个ImageView显示出来

 
阅读更多

定义一个照相机类CameraOneActivityActivity,这个类中有一个Button一个ImageView

 

public class CameraOneActivityActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.camera);

		Button button = (Button) findViewById(R.id.button);

		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
				startActivityForResult(intent, 1);
			}
		});
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

		if (resultCode == Activity.RESULT_OK) {

			String sdStatus = Environment.getExternalStorageState();
			// 检测sd是否可用
			if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { 
				
				Log.v("TestFile",
						"SD card is not avaiable/writeable right now.");
				return;
			}

			Bundle bundle = data.getExtras();
			// 获取相机返回的数据,并转换为Bitmap图片格式
			Bitmap bitmap = (Bitmap) bundle.get("data");
			FileOutputStream b = null;
			File file = new File("/sdcard/myImage/");
			// 创建文件夹
			file.mkdirs();

			// 将时间命名为照片的名字
			String str = null;
			Date date = null;
			// 获取当前时间,进一步转化为字符串
			SimpleDateFormat format = new SimpleDateFormat(
					"yyyy-MM-dd-HH-mm-ss");
			date = new Date();
			str = format.format(date);
			//以时间的名字保存在SDK下,并且格式为JPG
			String fileName = "/sdcard/myImage/" + str + ".jpg";

			try {
				b = new FileOutputStream(fileName);
				// 把数据写入文件
				bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} finally {
				try {
					b.flush();
					b.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			// 将图片显示在ImageView里
			((ImageView) findViewById(R.id.imageView)).setImageBitmap(bitmap);
		}
	}
}

 

定义界面的camer.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
     <Button
        android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="点击启动相机" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#999999" />
</LinearLayout>

 以上代码就是系统调用一个照相机并将照片赋值给一个ImageView,并将照片保存在Sd卡下 

分享到:
评论

相关推荐

    Android调用系统摄像头拍照并显示在ImageView上

    在Android开发中,调用系统摄像头拍照并显示在ImageView上是一项常见的功能,广泛应用于各种应用程序,如社交应用、图片编辑工具等。以下将详细介绍如何实现这一功能。 首先,我们需要在AndroidManifest.xml文件中...

    Android中实现调用摄像头拍照并显示在ImageView中示例代码.zip

    以上就是在Android中实现调用摄像头拍照并显示在ImageView中的基本步骤和关键代码。根据实际需求,你可能还需要考虑图片质量、拍照权限提示、相机方向、横竖屏切换等问题。在实际项目中,建议封装成一个通用的工具类...

    delphi xe6 android 调用照相机摄像头拍照片

    你可以根据需要进一步处理这个图片,比如将其显示在应用的ImageView控件中,或者保存到本地文件系统。 值得注意的是,由于Android系统的权限管理,你需要在`AndroidManifest.xml`文件中添加使用相机的权限: ```...

    调用系统照相机拍摄照片并管理,Okhttp上传至后台

    在Android应用开发中,调用系统照相机拍摄照片并进行管理是常见的功能需求。这个过程涉及到用户交互、图片处理和网络通信等多个环节。本篇将详细介绍如何实现这一功能,并使用OkHttp库上传照片到后台服务器。 首先...

    调用系统自带照相机照相

    调用系统相机并获取照片在Android开发中是一个标准流程,涉及`Intent`、`ACTION_IMAGE_CAPTURE`、存储照片的Uri以及处理返回结果。注意处理过程中可能出现的异常,例如没有可用的相机应用、用户取消拍照或存储权限...

    android 调用系统照相机功能

    // 将图片显示在ImageView等控件上 } else if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_CANCELED) { // 用户取消拍照 } } ``` 对于视频录制,数据通常不会通过"data"返回,而是通过返回...

    android拍照剪切显示到imageView中

    在Android应用开发中,"android拍照剪切显示到imageView中"是一个常见的需求,涉及到相机权限、图片处理和UI展示等多个方面。以下是对这个主题的详细解释: 1. **相机权限**: 在Android 6.0(API级别23)及以上...

    调用系统照相机

    本文将详细讲解如何实现这一功能,包括如何启动系统照相机、处理拍照后的回调、显示照片以及保存图片。 1. **启动系统照相机** 要调用系统照相机,你需要在你的Activity中创建一个Intent。Intent是Android系统中...

    android照相机及照片保存简单例子(运行正常)

    在`onActivityResult()`中,我们获取了Bitmap对象,并将其显示在ImageView上。同时,我们调用了`saveImageToExternalStorage()`方法来保存图片。 保存图片到外部存储的函数如下: ```java private void ...

    android调用系统相机拍照并将照片储存在缓存中,并以列表展示照片

    在Android开发中,调用系统相机拍照并存储照片到缓存以及将其展示在列表中是一项常见的功能需求。这个过程涉及到多个关键步骤和技术,包括启动相机应用、保存图片、管理缓存以及显示数据。下面将详细讲解这些知识点...

    Android 调用系统照相机,相册,上传图片

    在Android开发中,调用系统照相机、相册以及上传图片是常见的功能需求,尤其在社交应用、生活服务类应用中十分常见。本教程将详细讲解如何实现这些功能。 一、调用系统照相机 1. 添加权限:首先在AndroidManifest....

    Android从网络加载图片并显示在ImageView控件上

    在Android开发中,将网络上的图片加载到ImageView控件上是一项常见的需求,特别是在构建社交应用、电商应用或者新闻阅读类应用时。这个过程涉及到多个关键知识点,包括网络请求、图片缓存策略、线程管理以及UI更新等...

    android调用系统自带照相机拍照

    在Android开发中,调用系统自带的照相机功能是一项常见的任务,这允许用户直接通过应用程序启动设备的相机应用,拍摄照片并保存到指定位置。本文将深入探讨如何实现这一功能,包括所需的关键知识点、步骤以及可能...

    android安卓通过url获取网络图片并显示在imageview中

    本文将详细介绍如何通过URL获取网络图片并将其显示在ImageView上。我们将使用一个简单的示例来演示这一过程,该示例是从百度官网获取其logo图片。 首先,我们需要引入能够处理网络请求和图片加载的库。Android本身...

    android 将Imageview生成图片后保存到本地相册的实现

    android 将Imageview 将view生成图片后保存到本地相册的实现生成图片后保存到本地相册的实现,android 将Imageview生成图片后保存到本地相册的实现 android 将Imageview生成图片后保存到本地相册的实现, 有需要的朋友...

    Android源码——调用系统相册和系统照相机功能雨实例源码.7z

    在获取到"Bitmap"对象后,你可以将其保存到本地、显示在ImageView上或者进行其他图像处理。 值得注意的是,由于Android版本的差异和权限管理,实际应用中可能需要处理更多细节,例如检查读写权限(对于Android 6.0...

    ios-调用系统相机和相册并显示出图片.zip

    本项目"ios-调用系统相机和相册并显示出图片.zip"提供了一个名为"TakePhotoDemo"的示例,它将帮助开发者了解如何在自己的应用中实现这一功能。以下是对这个项目的详细解析: ### 1. 调用系统相机 在iOS中,我们...

    【安卓】调用系统相机拍照并保存于SDCard当中

    在Android开发中,调用系统相机并保存照片到SDCard是一项常见的功能,这对于许多应用程序,如社交应用、相册应用等都是必要的。本教程将详细解释如何实现这一过程。 首先,我们需要在AndroidManifest.xml文件中添加...

    照相机例子。程序直接调用照相机,没有用到第三方插件

    在Android开发中,直接调用系统照相机功能是一项常见的任务,尤其在开发摄影类或社交类应用时。这个“照相机例子”展示了如何在不依赖任何第三方库的情况下,利用原生API来启动并控制设备的照相机。让我们深入探讨...

    在固定大小imageView里显示图片指定区域

    在Android开发中,ImageView是用于显示图像的常见组件,但默认情况下,它的显示方式由`scaleType`属性控制,如center、centerCrop、fitXY等。然而,这些内置的缩放类型可能无法满足某些特定需求,例如仅显示图片的某...

Global site tag (gtag.js) - Google Analytics