android 照相功能的简单实例

在android中,照相功能系统已经提供,在app中可以直接使用。当手机从android play里面下载有照相功能的应用时, 会判断手机是否支持。不支持,不给予下载。
照相有几个步骤:
1. 声明权限
2. 使用Camera照相
3. 显示图片

1. 声明权限
在manifest里面声明使用Camera:
复制代码 代码如下:
<uses-feature android:name="android.hardware.camera" />

2. 使用Camera照相

在Activity中,调用Camera应用
复制代码 代码如下:
private void dispatchTakePictureIntent(int actionCode) { 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(takePictureIntent, actionCode); 
}

3. 显示图片

在使用Camera照相成功之后,会返回回来,要显示图片就必须先获取图片,然后显示出来。
在onActivityResult方法中取得
复制代码 代码如下:
<PRE class=java name="code">@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
        switch (requestCode) { 
        Bundle extras = intent.getExtras(); 
        Bitmap mImageBitmap = (Bitmap) extras.get("data"); 
        mImageView.setImageBitmap(mImageBitmap); 
}</PRE> 
<PRE></PRE> 
<PRE></PRE>

想要保存图片到制定目录,启动Camera应用时,需要指定文件
复制代码 代码如下:
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
File f = null;

try { 
                f = setUpPhotoFile();  
                takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); 
            } catch (IOException e) { 
                e.printStackTrace(); 
                f = null; 
            }

复制代码 代码如下:
private File createImageFile() throws IOException { 
        // Create an image file name  
        String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
        String imageFileName = "IMG_"+ timeStamp + "_"; 
        File albumF = getAlbumDir(); 
        File imageF = File.createTempFile(imageFileName, "jpg", albumF); 
        return imageF; 
    }

private File setUpPhotoFile() throws IOException {

File f = createImageFile(); 
        mCurrentPhotoPath = f.getAbsolutePath();

return f; 
    } 
private File getAlbumDir() { 
        File storageDir = null;

if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {

storageDir = mAlbumStorageDirFactory.getAlbumStorageDir(getAlbumName());

if (storageDir != null) { 
                if (! storageDir.mkdirs()) { 
                    if (! storageDir.exists()){ 
                        Log.d("CameraSample", "failed to create directory"); 
                        return null; 
                    } 
                } 
            }

} else { 
            Log.v(getString(R.string.app_name), "External storage is not mounted READ/WRITE."); 
        }

return storageDir; 
    }

时间: 2024-10-10 22:36:10

android 照相功能的简单实例的相关文章

仿百度换肤功能的简单实例代码_javascript技巧

效果:(换肤出来一个div,选择你想要的图片,作为网页背景,保存) 要点:cookie保存状态 html代码: <body> <div id="header"> <div id="header_con"> <div class="dbg"><a href="javascript:;" onclick="showImgBox()">换肤</a&

jquery插件方式实现table查询功能的简单实例_jquery

1. 写插件部分,如下: ;(function($){ $.fn.plugin = function(options){ var defaults = { //各种属性,各种参数 } var options = $.extend(defaults, options); this.each(function(){ //功能代码 var _this = this; }); } })(jQuery); 附上一个例子: ;(function($){ $.fn.table = function(optio

Jquery实现select multiple左右添加和删除功能的简单实例_jquery

项目要实现这样的一个功能(如下图所示):选择左边下拉列表框中的选项,点击添加按钮,把选择的选项移动到右边的下拉列表框中,同样的选择右边的选项,点击删除按钮,即把选择的选项移动到左边的下拉列表框中.相信用js很多朋友都写过,下面是我用jQuery来实现这样的功能的. 具体代码如下: <center> <table> <tr align="center"> <td colspan="3"> 选择 </td> &

Android倒计时功能的简单实现和改进

项目中经常会遇到找回密码的功能,现在找回密码一般都是用手机接收验证码,为了防止多次发送,一般需要设置一个发送间隔,比如60秒.为了让用户更加清楚的感受到这个间隔,于是就出现了倒计时功能.如下图: 点击之后,获取验证码的那个TextView或者Button变为不可点击,并且它的的text就要每秒变化一次,59,58,57-到最后一秒之后,text重新变为点击获取验证码,而且变为可点击. 看了一些前辈写的倒计时,都是用Handler和TimerTask来实现,然后我发现了一个更加简单的,Androi

Android中SurfaceView用法简单实例_Android

本文实例讲述了Android中SurfaceView用法.分享给大家供大家参考,具体如下: 这里贴上一个小程序代码,主要运用SurfaceView来实现在屏幕上画一个圆,你可以通过按方向键和触摸屏幕来改变圆的位置 代码: Activity: package com.view; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowMa

Android中ProgressBar用法简单实例

本文实例讲述了Android中ProgressBar用法.分享给大家供大家参考,具体如下: 在android中会经常用到ProgressBar,下面通过举例来说明如何使用ProgressBar. import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.vi

Android中SurfaceView用法简单实例

本文实例讲述了Android中SurfaceView用法.分享给大家供大家参考,具体如下: 这里贴上一个小程序代码,主要运用SurfaceView来实现在屏幕上画一个圆,你可以通过按方向键和触摸屏幕来改变圆的位置 代码: Activity: package com.view; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowMa

Win8系统metro界面和照相功能的简单使用说明

  故障现象: 在Win8系统metro界面中的相机功能可以帮助大家判断摄像头硬件是否有故障,下文介绍该软件的使用方法. 解决方案: 首先,请您保证摄像头驱动程序已经正常安装,如下图所示 正常开机进入桌面,按下Win按键进入Win8系统的Metro界面,如下图 请点击metro界面下的"相机"按钮打开相机应用,程序会提示您是否启动摄像头,如图 点击"允许"按钮后 开启"相机"应用程序; 相机模式下 有三个可以点击的按钮 分别为"摄像头选

Android 开发照相功能实例详解

Android 照相 在android中,照相功能系统已经提供,在app中可以直接使用.当手机从android play里面下载有照相功能的应用时, 会判断手机是否支持.不支持,不给予下载. 照相有几个步骤: 1. 声明权限 2. 使用Camera照相 3. 显示图片 1. 声明权限 在manifest里面声明使用Camera: <uses-feature android:name="android.hardware.camera" /> 2. 使用Camera照相 在Ac