android相机和相册
2016-03-19 16:36
549 查看
package com.example.album_camera; import java.io.ByteArrayOutputStream; import java.io.FileNotFoundException; import android.R.id; import android.app.Activity; import android.content.ContentResolver; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private final static int REQUEST_CAMERA = 1; private final static int REQUEST_ALBUM = 0; private Button button_album , button_camera ; private ImageView ivImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button_album = (Button) findViewById(R.id.button_album ); button_camera = (Button) findViewById(R.id.button_album ); ivImageView = (ImageView) findViewById(R.id.imageView1); button_album .setOnClickListener(this); button_camera .setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button_album: Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); startActivityForResult(intent, REQUEST_ALBUM); break; case R.id.button_camera : Intent getImageByCameraIntent = new Intent( "android.media.action.IMAGE_CAPTURE"); startActivityForResult(getImageByCameraIntent, REQUEST_CAMERA); break; default: break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case REQUEST_CAMERA: Bitmap myBitmap = null; try { super.onActivityResult(requestCode, resultCode, data); Bundle extras = data.getExtras(); myBitmap = (Bitmap) extras.get("data"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); myBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); } catch (Exception e) { e.printStackTrace(); } ivImageView.setImageBitmap(myBitmap); break; case REQUEST_ALBUM: Toast.makeText(this, "album", Toast.LENGTH_LONG).show(); Uri uri = data.getData(); Log.e("uri", uri.toString()); ContentResolver cResolver = this.getContentResolver(); try { Bitmap bitmap = BitmapFactory.decodeStream(cResolver.openInputStream(uri)); ivImageView.setImageBitmap(bitmap); } catch (FileNotFoundException e) { e.printStackTrace(); } break; default: break; } } }
相关文章推荐
- android 编译faad2
- Android Service与Activity之间通信的几种方式
- Android studio的ADBWifi使用
- 2. Android Framework - IPC机制
- Android-屏幕适配全攻略(绝对详细
- Android打包的那些事
- Android自带的Json API
- 在Android Studio中使用Jni
- Android 中SharedPreference存储
- Android 导航
- Android 碎片 Fragment
- Android之Notification的多种用法
- Android App中实现可以双击放大和缩小图片功能的实例
- android使用include加载其他xml文件中的布局
- Android中Activity、Service和线程之间的通信
- Android 优质精准的用户行为统计和日志打捞方案
- Android 优质精准的用户行为和日志打捞方案
- Android自定义属性时TypedArray的使用方法
- Android 多渠道打包原理和使用
- DatePicker日历选择器,TimePicker时间选择器