Android进阶之路
来源:互联网 发布:淘宝对话技巧 编辑:程序博客网 时间:2024/05/22 05:22
本篇给大家带来的是拍照回传的初级使用,用的同样是数据回传的方式,首先startActivityForResult确定Action,requestCode,之后重写onActivityResult进行逻辑操作
添加权限:
<uses-permission android:name="android.permission.CAMERA"/>
执行步骤:
- 点击按钮- 进入拍照 - 回传照片
效果图:
MainActivity :
package com.example.dow.camerapicture;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Build;import android.provider.MediaStore;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.ImageView;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private TextView mBtn; private ImageView mImage; private int TAKE_PHOTO=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Layout处理 initView(); //事件处理 initEvent(); } private void initView() { mBtn = (TextView) findViewById(R.id.picture_button); mImage = (ImageView) findViewById(R.id.image_picture); } private void initEvent() { mBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE),520); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode==520){ Bundle bundle = data.getExtras(); Bitmap bitmap = (Bitmap)bundle.get("data"); Log.e("tag","内存太小="+getBitmapSize(bitmap)); mImage.setImageBitmap(bitmap); } } //这是一个查看图片大小的,我之后可能进行压缩,或许大家之后也会用到,就贴在这里 public int getBitmapSize(Bitmap bitmap){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){ return bitmap.getAllocationByteCount(); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1){ return bitmap.getByteCount(); } else { return bitmap.getRowBytes() * bitmap.getHeight(); } }}
MainActivity Xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.dow.camerapicture.MainActivity"> <TextView android:id="@+id/picture_button" android:layout_width="match_parent" android:padding="5dp" android:gravity="center" android:layout_height="wrap_content" android:text="拍照" /> <View android:layout_width="match_parent" android:layout_height="2dp" android:background="#ff0" /> <ImageView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:id="@+id/image_picture" /></LinearLayout>
0 0
- Android进阶之路
- android进阶之路
- Android 进阶之路
- Android 进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- 一分钟实现仿美拍直播的点赞动画
- Logstash利用GeoIP库显示地图以及通过useragent显示浏览器(四)
- CSS
- 原生JS-实现无限图片轮播
- angular选项卡
- Android进阶之路
- poj 3321 Apple Tree(树状数组)(区间建树)
- java script的数组【初学者】
- spring security authenticationProvider用法及关闭不隐藏UserNotFoundException的解决
- logstash通过kafka传输nginx日志(三)
- 美化js系统函数alert,confirm,prompt,并实现lightbox效果
- cdq分治——bzoj4553: [Tjoi2016&Heoi2016]序列
- iOS应用架构谈 网络层设计方案
- mysql 查询奇偶数