逻辑部分:

package com.example.qing.third;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Build;import android.provider.MediaStore;import android.support.annotation.Nullable;import android.support.v4.content.FileProvider;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;public class MainActivity extends AppCompatActivity {    public static final int TAKE_PHOTO=1;    private ImageView picture;    private Uri imageUri;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button takePhoto=(Button)findViewById(R.id.take_photo);        picture=(ImageView)findViewById(R.id.picture);        takePhoto.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                File outputImage=new File(getExternalCacheDir(),"output_image.jpg");                try{                    if(outputImage.exists()){                        outputImage.delete();                    }                    outputImage.createNewFile();                }catch (IOException e){                    e.printStackTrace();                }                if(Build.VERSION.SDK_INT>=24){                    imageUri=FileProvider.getUriForFile(MainActivity.this,"com.example.cameraalbumtest.fileprovider",outputImage);                }                else{                    imageUri=Uri.fromFile(outputImage);                }                Intent intent=new Intent("android.media.action.IMAGE_CAPTURE");                intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);                startActivityForResult(intent,TAKE_PHOTO);            }        });    }    @Override  //使用的是startActivityForResult会有结果返回到onActivityResult方法中去    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {        switch (requestCode){            case TAKE_PHOTO:                if(resultCode==RESULT_OK){                    try{                        Bitmap bitmap=BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));                        picture.setImageBitmap(bitmap);                    }catch (FileNotFoundException e){                        e.printStackTrace();                    }                }                break;            default:                break;        }    }}

布局部分:

<?xml version="1.0" encoding="utf-8"?>    

xml:

<?xml version="1.0" encoding="utf-8"?>    

 

更多相关文章

  1. android-仿iOS弹出框
  2. RecyclerView指定布局管理器
  3. Android文字跑马灯
  4. Activity销毁时返回数据
  5. android中的有道词典
  6. Android(安卓)RecyclerView网格布局
  7. Android(安卓)BaseFragment基类
  8. ANDROID -- Bluetooth
  9. Kotlin简单开发-RecyclerView

随机推荐

  1. Android(安卓)开发10个常用工具类
  2. android —— 自定义控件 竖向的ViewPage
  3. android-疑问2
  4. Android(安卓)解决AIDL bindService异常
  5. Android(安卓)节点进度条
  6. android 用tcpdump抓取网络包
  7. android知识点积累
  8. ConstraintLayout 学习
  9. android中的滚动条ScrollView
  10. ClipboardManager android剪切板使用