zoukankan      html  css  js  c++  java
  • android 使用系统照相程序照相并存储、显示在界面上

    大部分业务可以通过调用系统的相机程序来拍照。

    界面如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
            >
    
        <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="前往拍照"
                android:onClick="goToPicture"
                />
    
        <ImageView
                android:id="@+id/imageView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                />
    </LinearLayout>

    java:

    package com.example.usingSystemCamera;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.net.Uri;
    import android.os.Bundle;
    import android.os.Environment;
    import android.provider.MediaStore;
    import android.view.View;
    import android.widget.ImageView;
    
    import java.io.File;
    
    public class MyActivity extends Activity {
    
        private File file;//相片文件
        private ImageView imageView;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            imageView = (ImageView) findViewById(R.id.imageView);
        }
    
        public void goToPicture(View view) {
            Intent intent = new Intent();
            intent.setAction("android.media.action.IMAGE_CAPTURE");
            intent.addCategory("android.intent.category.DEFAULT");
            file = new File(Environment.getExternalStorageDirectory(), "myJpg.jpg");
            Uri uri = Uri.fromFile(file);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
            startActivityForResult(intent, 0);
        }
    
        /**
         * 当保存了文件后,设置到界面上
         */
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            Bitmap bitmap = BitmapFactory.decodeFile(file.getPath(), null);
            imageView.setImageBitmap(bitmap);
        }
    }
  • 相关阅读:
    常用的一些js方法
    git常用命令
    thread join和detach的区别
    C和C++的区别和联系
    C++面试集锦( 面试被问到的问题 )
    C/C++面试题:编写类String的构造函数、析构函数和赋值函数。
    C++ 多态的实现及原理
    获取当前操作系统的ip
    CString的头文件
    C++ 多用户模式下同一个exe只能运行一次
  • 原文地址:https://www.cnblogs.com/wuyou/p/3662274.html
Copyright © 2011-2022 走看看