安卓获取本地图片并转化成bitmap回传给原Activity

写前说一说

写这个技术博客,也是一时心血来潮。主要针对自己在学习方面有一些记录。

今天建项目的时候,做个测试,一不小心就忘了在AndroidMainfest中注册activity,结果就报错了。错误如下:

安卓获取本地图片并转化成bitmap回传给原Activity_第1张图片
没有注册activity报错

关于MyApplication

继承application的MyApplication,是Android中的一个全局变量。举个最简单的例子,一个包含有登录功能的app,在登录之后可以将用户信息放在MyApplication中,之后不管跳转到哪个activity,都可以直接调用相关信息。
详情可以查看
http://www.jianshu.com/p/1b96f3c2ffa9

关于安卓获取图片

获取到本地图片。楼主在做这一步的时候卡了好久,总算是解决。
楼主选用在button中绑定跳转到选中图片的事件。事件代码如下

image.setOnClickListener(new OnClickListener() {
    
    @Override
    public void onClick(View arg0) {
        Intent intent = new Intent();  
        /* 开启Pictures画面Type设定为image */  
        intent.setType("image/*");  
        /* 使用Intent.ACTION_GET_CONTENT这个Action */  
        intent.setAction(Intent.ACTION_GET_CONTENT);   
        /* 取得相片后返回本画面 */  
   
        startActivityForResult(intent, 0);    
        
    }
});

在Activity中重写onActivityResult方法
新的Activity关闭后会向前面的Activity传回数据,为了得到传回的数据,你必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode,Intent data)方法

@Override  
protected void onActivityResult(int requestCode,int resultCode,Intent data){  
    if (resultCode == RESULT_OK) {  
       //获取图片的uri,由上一个Activity传回来
        Uri uri = data.getData();  
       
        ContentResolver cr = this.getContentResolver();  
        try {  
            Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));  
            //设置图片显示,可以看到效果
            ImageView imageView = (ImageView) findViewById(R.id.image);  
            /* 将Bitmap设定到ImageView */  
            imageView.setImageBitmap(bitmap);  
        } catch (FileNotFoundException e) {  
            Log.e("Exception", e.getMessage(),e);  
        }  
    }  
    super.onActivityResult(requestCode, resultCode, data);  
} 
安卓获取本地图片并转化成bitmap回传给原Activity_第2张图片
点击安卓机器人图片(绑定跳转事件)
安卓获取本地图片并转化成bitmap回传给原Activity_第3张图片
选中图片
安卓获取本地图片并转化成bitmap回传给原Activity_第4张图片
返回结果图片显示出来

你可能感兴趣的:(安卓获取本地图片并转化成bitmap回传给原Activity)