package com.example.day10_camera;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.BitmapFactory.Options;import android.view.Menu;import android.view.View;import android.view.animation.RotateAnimation;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity {private ImageView image;private File file;private String path;private static final String PATTERN="yyyyMMddhhmmss"; //20130429104534.jpgprivate static final int CAMERA_REQUEST_CODE=8888;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);image=(ImageView) findViewById(R.id.image);initFile(); //实例化保存拍照的文件}private void initFile() {// TODO Auto-generated method stubif(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//得到sdcard路径path=Environment.getExternalStorageDirectory()+"";file=new File(path,getFileName());if(!file.exists()){try {file.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}else{Toast.makeText(MainActivity.this,"sdcard不可用", 2000).show();}}private String getFileName(){Date date=new Date();SimpleDateFormat sdf=new SimpleDateFormat(PATTERN);return sdf.format(date)+".jpg";}public void onBtnClick(View view){initCamera();}private void initCamera() {// TODO Auto-generated method stubIntent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);Uri uri=Uri.fromFile(file);intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);startActivityForResult(intent, CAMERA_REQUEST_CODE);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);if(requestCode==CAMERA_REQUEST_CODE&&resultCode==RESULT_OK){//获得之前保存的图片 然后显示在imageview上try {FileInputStream fis=new FileInputStream(file);BitmapFactory.Options options=new Options();options.inSampleSize=10;  // 1/10Bitmap bitmap=BitmapFactory.decodeStream(fis, null, options);RotateAnimation animation=new RotateAnimation(0, 90, 150, 150);animation.setDuration(1000);animation.setFillAfter(true);image.setImageBitmap(bitmap);image.startAnimation(animation);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

layout.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"    tools:context=".MainActivity" >    <Button        android:id="@+id/button1"        style="?android:attr/buttonStyleSmall"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:layout_marginBottom="70dp"        android:onClick="onBtnClick"        android:text="拍照" />    <ImageView        android:id="@+id/image"        android:layout_width="320dp"        android:layout_height="320dp"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:src="@drawable/ic_launcher" /></RelativeLayout>

androidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.day10_camera"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="10"        android:targetSdkVersion="10" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.example.day10_camera.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></manifest>




更多相关文章

  1. Android(安卓)Retrofit2网路编程实现方法详解
  2. Android存储登陆信息
  3. Decompiled .class file,bytecode version:52.0(Java 8) Source
  4. Android(安卓)调用相册 拍照 实现系统控件缩放 切割图片 .
  5. android 下载资源代码
  6. 笑谈Android之Shared Preferences
  7. Android获取所有存储卡挂载路径
  8. Android从相册中获取图片以及路径
  9. android 报错java.io.IOException: Permission denied

随机推荐

  1. RocketMQ入门到入土(四)producer生产消息源
  2. 从入门到入土(三)RocketMQ 怎么保证的消息
  3. Java集合面试题(2021最新版)
  4. 函数的返回值,参数
  5. 孙卫琴的《精通JPA与Hibernate》的读书笔
  6. 孙卫琴的《精通JPA与Hibernate》的读书笔
  7. IntelliJ IDEA破解2021.5月亲测实战详细
  8. 大咖访谈 | 李少鹏的网安江湖
  9. 孙卫琴的《精通JPA与Hibernate》的读书笔
  10. 孙卫琴的《精通JPA与Hibernate》的读书笔