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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 橱子和墙壁不平怎么办 复印选项是英文不认识怎么办 防盗门锁与门框结合不好怎么办 仿瓷涂料墙壁脏了怎么办 油笔画到墙纸上怎么办 水笔画在墙纸上怎么办 屋里有股石灰味怎么办 厨房太阳对着晒怎么办 房子有太阳西斜怎么办 房子晒到太阳很热怎么办 房子被太阳热了怎么办 房间西晒窗帘不遮光怎么办 新建房屋一面墙体有裂缝怎么办 卫生间地砖缝隙出现渗水怎么办 西户窗户太晒怎么办 西晒的墙面很烫怎么办 儿童房颜色太粉了怎么办? 小孩在家里偷钱怎么办 脾气不好的猫该怎么办 二年孩子偷钱怎么办 孩子偷钱2000报警怎么办? 我儿子十岁老是偷钱怎么办 13孩子偷同学钱怎么办 孩子偷同学的钱怎么办 儿子十四岁了老偷钱怎么办 发现初中生的儿子偷钱怎么办 被亲戚怀疑儿子偷钱怎么办 房门选的太白了怎么办 大厅地砖颜色比墙砖浅怎么办 房屋外墙渗水物业不管怎么办 走丢了怎么办教学反思 托班教案迷路了怎么办 大班安全教案遇到小偷怎么办 小班孩子舞台表演找不到位置怎么办 懂你英语学完了怎么办 小班社会走丢了怎么办 帮小老鼠搬鸡蛋怎么办 小老鼠还能怎么办鸡蛋 中班教案走丢了怎么办 走丢了怎么办可后反思 社会走丢了怎么办教案