Android摄像头照相机技术-android学习之旅(八)

简介

Android SDK支持Android设备内置的照相机。从Android2.3开始支持多个摄像头(主要指前置摄像头和后置摄像头)。通过照片相可以拍照和录像。

需要考虑的问题

  • 是否支持照相机
  • 快速拍照还是定制拍照
  • 存储问题

照相机涉及的主要API

  • Intent听过action来启动系统的相机
  • Camera
  • SurfaceView
  • MediaRecorder(录像)

权限

“android.permission.CAMERA”

“android.permission.WRITE_EXTERNAL_STORAGE”

“android.permission.RECORD.AUDIO”

uses-feature:”android.hardware.camera”

拍照实例

public class MainActivity extends Activity {
    private ImageView image;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        image = (ImageView) findViewById(R.id.image);
        findViewById(R.id.capture).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(intent,1);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1) {
            if (resultCode == Activity.RESULT_OK) {
                Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data");
                image.setImageBitmap(cameraBitmap);
            }
        }
    }

}

效果图

时间: 2024-12-15 03:59:03

Android摄像头照相机技术-android学习之旅(八)的相关文章

Android的DatePicker和TimePicker-android学习之旅(三十八)

DatePicker和TimePicker简介 DatePicker和TimePicker是从FrameLayout继承而来,他们都是比较简单的组件.时间改变时间分别添加OnDateChangeListener()和OnTimeChangeListener()来监听. DatePicker和TimePicker属性 选择日期和时间的实例 package peng.liu.test; import android.app.Activity; import android.graphics.Colo

Android的ScrollView和HorizontalScrollView-android学习之旅(四十一)

HorizontalScrollView和ScrollView简介 ScrollView和HorizontalScrollView都继承于FrameLayout组件,两个都是容器,前者为里面的组件添加竖直的滚动条,后者是水平的滚动条. 代码示例 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk

Android下拉列表控件spinner-andoid学习之旅(十一)

废话不多说,下拉列表常用的就是spinner控件. 直接上代码: package peng.liu.testview; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import

Android的AdapterViewFlipper和Stackview-android学习之旅(三十)

AdapterViewFlipper简介 AdapterViewFlipper继承了AdapterViewAnimater.每次只能显示一个组件,用showPrevious()和showNext()来显示这些组件上一个和下一个.还有startFlipping()控制它自动播放. AdapterViewFlipper属性 代码实例 package peng.liu.testview; import android.app.Activity; import android.content.res.T

Android的ImageSwitcher和TextSw-android学习之旅(三十四)

ImageSwitcher简介 ImageSwitcher继承了ViewSwitcher,所以在切换时候会有动画,可以把它理解成一个动画版本的ImageView. 他的showNext(),和showPrevious()方法分别显示下一个和上一个. 为ImageSwitcher提供一个ViewFactory,该ViewFactory的makeView()生成的View必须是ImageView. ImageSwicher可以用setimageResource()和色图ImageDrawable()

Android的数字选择器NumberPicker-android学习之旅(三十七)

我想说的话 今天晚上我依然在图书馆写博客,其实此刻我的没心激动而忐忑,因为明天就是足球赛的决赛,我作为主力球员压力很大,因对对方很强大,但是那又怎么样.so what...我不会停止写博客的 NumberPicker简介 NumberPicker这个控件可以让你滑动来选择数值. 通过三个方法来设置: 1.setMinValue() 2.setMaxVlaue() 3.setValue() 代码示例 <?xml version="1.0" encoding="utf-8&

Android广播接收器Broadcast Receiver-android学习之旅(十二)

首先继承BroadcastReceiver类,并在manifest中注册 public class MyReceiver extends BroadcastReceiver { public MyReceiver() { } @Override public void onReceive(Context context, Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); }

基于 Android NDK 的学习之旅----- C调用Java

http://www.cnblogs.com/luxiaofeng54/archive/2011/08/17/2142000.html 基于 Android NDK 的学习之旅----- C调用Java许多成熟的C引擎要移植到Android 平台上使用 , 一般都会 提供 一些接口, 让Android sdk 和 jdk 实现. 下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态方法. 1.主要流程 1.  新建一个测试类TestProvider.java a)       

【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)

原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据传输二(引用数据类型)(附源码) 基于 Android NDK 的学习之旅-----数据传输(引用数据类型) 接着上篇文章继续讲.主要关于引用类型的数据传输,本文将介绍字符串传输和自定义对象的传输. 1.主要流程 1.  String 字符串传输 a)         上层定义一个native的方法