zoukankan      html  css  js  c++  java
  • android 利用contentprovider查询图库里的图片并用imageview显示

      1、在图库的contentprovider里存储的是image、video、audio的信息的存储,如:它们的格式、文件的路径等,因此外面利用getcontentprovider对数据库进行查询这些信息可以获得文件在sd卡的存储地址从而可以获取图片,一个简单的demo:

    public class MainActivity extends PermissionActivity {
    
        ImageView imageview ;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            imageview = (ImageView) findViewById(R.id.image);
    
            Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
            ContentResolver mContentResolver = MainActivity.this.getContentResolver();
    
            //只查询jpeg和png的图片
            Cursor mCursor = mContentResolver.query(mImageUri, null,
                    MediaStore.Images.Media.MIME_TYPE + "=? or "
                            + MediaStore.Images.Media.MIME_TYPE + "=?",
                    new String[] { "image/jpeg", "image/png" }, MediaStore.Images.Media.DATE_MODIFIED);
    
            if(mCursor == null){
                return;
            }
      //只显示第一张图片
            mCursor.moveToNext();
            String path = mCursor.getString(mCursor
                        .getColumnIndex(MediaStore.Images.Media.DATA));
    
            Bitmap bitmap =BitmapFactory.decodeFile(path);
            imageview.setImageBitmap(bitmap);
    
    
    }
    
    }
    

      图库的数据库只是一个索引,它只存储了图片、视频、音频的索引即位置,并没有真的存储,因此在访问的时候得得到路径然后加以利用。

    MediaStore.Images.Media.DATA 图片
    MediaStore.Videos.Media.DATA 视频
    MediaStore.Audios.Media.DATA 音频
  • 相关阅读:
    HDU2767 Proving Equivalences
    POJ2771 Guardian of Decency
    POJ1111 Image Perimeters
    简单就好
    工具乃思维的奴隶
    “年终奖”
    学点经济学知识(二)
    被忽略的技能
    猿类己见
    学点经济学知识(一)
  • 原文地址:https://www.cnblogs.com/bokeofzp/p/5995996.html
Copyright © 2011-2022 走看看