频道栏目
首页 > 资讯 > Android > 正文

Android开发 利用imageview显示选取的手机内存的图片

17-04-19        来源:[db:作者]  
收藏   我要投稿

Android开发 利用imageview显示选取的手机内存的图片。activity_main.xml:

MainActivity.java文件:

package com.example.imageview;

import java.io.File;
import java.io.FileNotFoundException;

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.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {
    private Button selectImage;
    private ImageView imageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTitle("ImageView"); 
        setContentView(R.layout.activity_main);

        selectImage = (Button) this.findViewById(R.id.selectImage);
        imageView = (ImageView) this.findViewById(R.id.imageView);
        selectImage.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO 自动生成的方法存根

                Intent intent = new Intent();
                //打开pictures画面Type设置为image
                intent.setType("image/*");
                //使用Intent.ACTION_GET_CONTENT 这个Action
                intent.setAction(Intent.ACTION_GET_CONTENT);
                //取得像片后返回本画面
                startActivityForResult(intent, 1);
            }
        });
    }
    /**
     * 定义方法onActivityResult来处理用户挑选的图片。通过requestCode和resultCode返回标识码,数据类型为Intent的data参数,
     * 调用Intent对象的getData()方法可以获得具体内容。
     */
    protected void onActivityResult(int requestCode,int resultCode,Intent data){
        if (resultCode==RESULT_OK){
            Uri uri=data.getData();
            ContentResolver cr=this.getContentResolver();
            try{
                Bitmap bitmap=BitmapFactory.decodeStream(cr.openInputStream(uri));
                //将Bitmap设置到imageView
                imageView.setImageBitmap(bitmap);
            }catch(FileNotFoundException e)
            {
                e.printStackTrace();
            }
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

}

在AndroidManifest.xml文件中添加权限:


运行结果
这里写图片描述

相关TAG标签
上一篇:android studio运行AVD时显示“CPU acceleration status:HAXM must be updated(version 1.1.1(6.0.1)”
下一篇:Servlet概述
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站