zoukankan      html  css  js  c++  java
  • Android读取系统相册图片并获得绝对地址

    public class MainActivity extends Activity {
        private Button btn;
        private ImageView img;
        Bitmap bitmap;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            btn=(Button)findViewById(R.id.select);
                    img=(ImageView)findViewById(R.id.pic);
                    //设置监听                
               setlistener();
        }
    
        private void setlistener() {
            // TODO Auto-generated method stub
            btn.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent();
                    intent.setType("image/*");//set intent type
                    intent.setAction(Intent.ACTION_GET_CONTENT);
                    //取得图片信息返回MainActivity                
                    startActivityForResult(intent,1);
                }
            });
        }
        protected void onActivityResult(int requestCode,int resultCode,Intent data)
        {
            if(resultCode==RESULT_OK)
            {
                Uri uri = data.getData();
                //通过URI获取图片绝对地址            
            String[] proj = { MediaStore.Images.Media.DATA };
                Cursor cursor = managedQuery(uri,proj,null,null,null);
                int actual_image_column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                //游标跳到首位,防止越界            
            cursor.moveToFirst();
                String img_path = cursor.getString(actual_image_column_index);
                //通过地址获得位图信息            
            bitmap =BitmapFactory.decodeFile(img_path);                
                //设置ImageView资源            
            img.setImageBitmap(bitmap);
             }
            
        
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
    
    }
  • 相关阅读:
    Linq查询
    Lambda表达式与标准运算符查询
    第四章 面向对象与IO操作
    第三章 C#循环与方法
    第二章 C#基本数据类型
    FPGA与嵌入式一点见解
    FPGA中RAM使用探索
    可控硅的工作原理和主要作用
    异步电路中时钟同步的方法
    FPGA中计数器设计探索
  • 原文地址:https://www.cnblogs.com/seantown/p/2826771.html
Copyright © 2011-2022 走看看