android 照相功能的简单实例

大美玉外貌协会

大美玉外貌协会

2016-02-19 09:27

今天图老师小编给大家介绍下android 照相功能的简单实例,平时喜欢android 照相功能的简单实例的朋友赶紧收藏起来吧!记得点赞哦~

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

1. 声明权限
在manifest里面声明使用Camera:
代码如下:

uses-feature android:name="android.hardware.camera" / 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)


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; 
            } 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

代码如下:

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; 
    } 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

android 照相功能的简单实例

编程语言 网络编程
android 照相功能的简单实例

Android 简单的照相机程序的实例代码

编程语言 网络编程
Android 简单的照相机程序的实例代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Fireworks教程:简单功能试用实例

电脑网络
Fireworks教程:简单功能试用实例

android viewpaper实例探讨

编程语言 网络编程
android viewpaper实例探讨

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

浅谈AS的绘图功能及几个简单的实例

flash教程
浅谈AS的绘图功能及几个简单的实例

android LinearLayout 布局实例代码

编程语言 网络编程
android LinearLayout 布局实例代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

通用的加入收藏夹代码支持IE Firefox等浏览器

通用的加入收藏夹代码支持IE Firefox等浏览器

javascript延时重复执行函数 lLoopRun.js

javascript延时重复执行函数 lLoopRun.js
下拉加载更多内容 ↓