zoukankan      html  css  js  c++  java
  • Android 照相功能

    使用内置的Camera 应用程序捕获图像

               探索Android 所提供的内置功能,内置的图像捕获与存储功能为Android 上全部媒体功能提供了一个非常好的切入点,为我们在以后的章节中处理音频和视频奠定了基础。
               如今介绍怎样利用内置的Camera(摄像头)应用程序。
      
    package com.example;
    
    import java.io.File;
    
    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.view.Display;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.ImageView;
    
    public class MainActivity extends Activity {
    
    	final static int CAMERA_RESULT = 0;
    	ImageView imv;
    	Button but;
    
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.fragment_main);
    		findViewById();
    		but.setOnClickListener(new OnClickListener() {
    
    			public void onClick(View v) {
                                   /*运行Camera内置摄像头意图*/
    				Intent i = new Intent(
    						android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    				startActivityForResult(i, CAMERA_RESULT);
    				
    			}
    		});
    	}
    
    	private void findViewById() {
    		but = (Button) findViewById(R.id.but);
    		imv = (ImageView) findViewById(R.id.img);
    	}
    
            /* 当activity运行完后,就显示照片*/
    	@Override
    	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    		super.onActivityResult(requestCode, resultCode, data);
    		if (resultCode == RESULT_OK) {
    			Bundle bundle = data.getExtras();
    			Bitmap bmp = (Bitmap) bundle.get("data");
    			imv.setImageBitmap(bmp);
    		
    		}
    	}
    
    	
    }
    


    AndroidManifest.xml 配置
    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>


    activity_main.xml 配置
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin" >
       
         <ImageView 
             android:id="@+id/img"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_alignParentTop="true"
             android:layout_centerInParent="true"
             />
         
         <Button 
             android:id="@+id/but"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@id/img"
             android:layout_centerInParent="true"
             android:text="take_a_picture"/>
        
    
    </RelativeLayout>
     



  • 相关阅读:
    window下配置ssh key
    Mysqldump记录
    WordPress插件入口菜单创建的位置代码
    阿里大鱼发送短信使用记录
    SpringMVC–SSH -- RESTful -- JSR303
    Spring MVC程序中得到静态资源文件css,js,图片
    包机项目源码分析笔记
    myeclipse中java文件头注释格式设置
    oracle扩展dblink数。
    linux--解决oracle sqlplus 中上下左右backspace不能用
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4020631.html
Copyright © 2011-2022 走看看