• 大小: 0.06M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2020-12-27
  • 标签: Android  拍照  

资源简介

一个demo,实现调用系统相机拍照,将其显示在屏幕上,并且存到sd卡。

 

 

Android中实现拍照有两种方法,一种是调用系统自带的相机,然后使用其返回的照片数据。 还有一种是自己用Camera类和其他相关类实现相机功能,这种方法定制度比较高,洗染也比较复杂,一般平常的应用只需使用第一种即可。

用Intent启动相机的代码:


Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);

拍完照后就可以在onActivityResult(int requestCode, int resultCode, Intent data)中获取到Bitmap对象了。
Bitmap bitmap = (Bitmap) data.getExtras().get("data");

要将图像存储到sd卡之前最好先检查一下sd卡是否可用

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

 

以下代码可以实现将图像文件存到“sdcard/myImage/”文件夹下,名称为“111.jpg”


            File file = new File("/sdcard/myImage/");
            file.mkdirs();// 创建文件夹
            String fileName = "/sdcard/myImage/111.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();
                }
            }

另外要注意的是读写sd卡文件必须首先要在Mainifest.xml文件中配置权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

 

一个demo,实现调用系统相机拍照,将其显示在屏幕上,并且存到sd卡。

 

 


资源截图

代码片段和文件信息

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package barry.android.c;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class id {
        public static final int button=0x7f050000;
        public static final int imageView=0x7f050001;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-03-12 00:51  myCarema\
     文件         364  2012-03-12 00:51  myCarema\.classpath
     文件         844  2012-03-12 00:51  myCarema\.project
     文件         905  2012-03-13 21:51  myCarema\AndroidManifest.xml
     目录           0  2012-03-12 00:51  myCarema\assets\
     目录           0  2012-03-13 22:04  myCarema\bin\
     目录           0  2012-03-13 16:45  myCarema\bin\classes\
     文件        4860  2012-03-13 22:04  myCarema\bin\classes.dex
     目录           0  2012-03-13 16:45  myCarema\bin\classes\barry\
     目录           0  2012-03-13 16:45  myCarema\bin\classes\barry\android\
     目录           0  2012-03-13 17:54  myCarema\bin\classes\barry\android\c\
     文件        1019  2012-03-13 22:06  myCarema\bin\classes\barry\android\c\MyCaremaActivity$1.class
     文件        3139  2012-03-13 22:06  myCarema\bin\classes\barry\android\c\MyCaremaActivity.class
     文件         331  2012-03-13 21:51  myCarema\bin\classes\barry\android\c\R$attr.class
     文件         398  2012-03-13 21:51  myCarema\bin\classes\barry\android\c\R$drawable.class
     文件         408  2012-03-13 21:51  myCarema\bin\classes\barry\android\c\R$id.class
     文件         385  2012-03-13 21:51  myCarema\bin\classes\barry\android\c\R$layout.class
     文件         418  2012-03-13 21:51  myCarema\bin\classes\barry\android\c\R$string.class
     文件         510  2012-03-13 21:51  myCarema\bin\classes\barry\android\c\R.class
     文件       15479  2012-03-13 22:04  myCarema\bin\myCarema.apk
     目录           0  2012-03-12 01:16  myCarema\bin\res\
     文件       11108  2012-03-13 22:04  myCarema\bin\resources.ap_
     目录           0  2012-03-12 01:16  myCarema\bin\res\drawable-hdpi\
     文件        3966  2012-03-12 01:16  myCarema\bin\res\drawable-hdpi\ic_launcher.png
     目录           0  2012-03-12 01:16  myCarema\bin\res\drawable-ldpi\
     文件        1537  2012-03-12 01:16  myCarema\bin\res\drawable-ldpi\ic_launcher.png
     目录           0  2012-03-12 01:16  myCarema\bin\res\drawable-mdpi\
     文件        2200  2012-03-12 01:16  myCarema\bin\res\drawable-mdpi\ic_launcher.png
     目录           0  2012-03-12 00:51  myCarema\gen\
     目录           0  2012-03-12 00:51  myCarema\gen\barry\
     目录           0  2012-03-12 00:51  myCarema\gen\barry\android\
............此处省略20个文件信息

评论

共有 条评论