四大组件 — ContentProvider - 系统 - 常用资源

    xiaoxiao2021-03-25  101

    读取ContentProvider的基本步骤:   1:得到ContentResolver类对象:ContentResolver cr = getContentResolver();   2:定义要查询的字段String数组。   3:使用cr.query(URI,字段数组,null, null,null);,返回一个Cursor对象。   4:使用while循环得到Cursor里面的内容。    电话联系人: Uri:ContactsContract.Contacts.CONTENT_URI String[] columns={"_id","display_name","has_phone_number"}; Uri:ContactsContract.CommonDataKinds.Phone.CONTENT_URI String[] phone_cols={ContactsContract.CommonDataKinds.Phone.NUMBER,                      ContactsContract.CommonDataKinds.Phone.CONTACT_ID }; 图片: Uri:MediaStore.Images.Media.EXTERNAL_CONTENT_URI String str[] = { MediaStore.Images.Media._ID,                  MediaStore.Images.Media.DISPLAY_NAME, MediaStore.Images.Media.DATA}; 音频: Uri:MediaStore.Audio.Media.EXTERNAL_CONTENT_URI String str[] = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.SIZE}; 视频: Uri:MediaStore.Video.Media.EXTERNAL_CONTENT_URI String str[] = { MediaStore.Video.Media._ID, MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.DATA}; 短信: Uri:(Uri.parse("content://sms/") String[] cols={"address","type","body","date"}; 通话记录: Uri:CallLog.Calls.CONTENT_URI String[] cols={ CallLog.Calls.NUMBER,//电话号码 CallLog.Calls.CACHED_NAME,//联系人名 CallLog.Calls.TYPE,//通话类型:1:已接,2:已拨,3:未接 CallLog.Calls.DATE,//通话日期时间 CallLog.Calls.DURATION//通话时长 };
    转载请注明原文地址: https://ju.6miu.com/read-19367.html

    最新回复(0)