Cursor cursor = managedQuery(Uri, null, null, null, null); First parameter are used for what you want to access there are built-in Uri used to access desired contents. Browser.BOOKMARKS_URI Browser.SEARCHES_URI CallLog.CONTENT_URI MediaStore.Images.Media.INTERNAL_CONTENT_URI MediaStore.Images.Media.EXTERNAL_CONTENT_URI Settings.CONTENT_URI 2. Second parameter is called projection. In this parameter of managQuery we want to retrieve how many columns . For Images String[] projection = { MediaStore.Images.Thumbnails._ID, MediaStore.Images.Media.DATA ,MediaStore.Images.Thumbnails.DATA} Cursor cursor = managedQuery(Uri, projection, null, null, null); For Contact Uri contacts=Uri.parse("People.CONTENT_URI"); String[]projection=newString[] {ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.HAS_PHONE_NUMBER}; Cursorc=managedQuery(contacts,projection,