使用内置的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;@Overrideprotected 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执行完后,就显示照片*/
@Overrideprotected 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> 



更多相关文章

  1. 关于android应用程序的入口
  2. android 研究笔记
  3. 谷歌Android被Linux内核除名(转)
  4. android开发学习笔记001a
  5. android 图片浏览功能 图片放大缩小 使用 photoview 双击或双指
  6. Android(安卓)Project Structure
  7. 【Android开发基础】应用界面主题Theme使用方法
  8. 【android】欢迎来到Android多进程时代
  9. Android笔试的一部分知识点

随机推荐

  1. Application Fundamentals
  2. android测试
  3. android自制的软件如何添加到打开方式
  4. EditText单行显示
  5. android 处理运行时改变 开发文档翻译
  6. android布局---android:layout_weight
  7. [Android]Android(安卓)Studio获取开发版
  8. 详解 Android(安卓)的 Activity 组件
  9. Android基础知识(二)
  10. adb 工具学习