cursor 过滤 android,Android cursor query方法详解
1.cursor query 方法入参
public final Cursor query (Uri uri, String[] projection,String selection,String[] selectionArgs, String sortOrder)
第一个参数,uri,rui是什么呢?好吧,上面我们提到了Android提供内容的叫Provider,那么在Android中怎么区分各个Provider?有提供联系人的,有提供图片的等等。所以就需要有一个唯一的标识来标识这个Provider,Uri就是这个标识,android.provider.ContactsContract.Contacts.CONTENT_URI就是提供联系人的内容提供者,可惜这个内容提供者提供的数据很少。
第二个参数,projection,真不知道为什么要用这个单词,这个参数告诉Provider要返回的内容(列Column),比如Contacts Provider提供了联系人的ID和联系人的NAME等内容,如果我们只需要NAME,那么我们就应该使用:
Cursor cursor = contentResolver.query(android.provider.ContactsContract.Contacts.CONTENT_URI,
new String[]{android.provider.ContactsContract.Contacts.DISPLAY_NAME}, null, null, null);
当然,下面打印的你就只能显示NAME了,因为你返回的结果不包含ID。用null表示返回Provider的所有内容(列Column)。
第三个参数,selection,设置条件,相当于SQL语句中的where。null表示不进行筛选。如果我们只想返回名称为张三的数据,第三个参数应该设置为:
Cursor cursor = contentResolver.query(android.provider.ContactsContract.Contacts.CONTENT_URI,
new String[]{android.provider.ContactsContract.Contacts.DISPLAY_NAME},
android.provider.ContactsContract.Contacts.DISPLAY_NAME + "='张三'", null, null);
结果:
11-05 15:30:32.188: I/System.out(10271): 张三
第四个参数,selectionArgs,这个参数是要配合第三个参数使用的,如果你在第三个参数里面有?,那么你在selectionArgs写的数据就会替换掉?,
Cursor cursor = contentResolver.query(android.provider.ContactsContract.Contacts.CONTENT_URI,
new String[]{android.provider.ContactsContract.Contacts.DISPLAY_NAME},
android.provider.ContactsContract.Contacts.DISPLAY_NAME + "=?",
new String[]{"张三"}, null);
效果和上面一句的效果一样。
第五个参数,sortOrder,按照什么进行排序,相当于SQL语句中的Order by。如果想要结果按照ID的降序排列:
cursor 过滤 android,Android cursor query方法详解相关推荐
- android中oncreate方法,android开发之onCreate( )方法详解
这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static, normal ...
- android开发之onCreate( )方法详解
android开发之onCreate( )方法详解 onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Go ...
- android notification的使用方法,详解Android中Notification的使用方法
在消息通知的时候,我们经常用到两个控件Notification和Toast.特别是重要的和需要长时间显示的信息,用Notification最合适不过了.他可以在顶部显示一个图标以标示有了新的通知,当我 ...
- android java 指针异常处理,Android自定义抛出异常的方法详解
前言 在android开发过程中,我们经常遇到异常的问题,崩溃抛出异常的时候,是非常令人烦闷的.但是异常有一个好处,使得app能在编译的时候给我们提供一些bug信息,有时可能比较模糊,有时可能很精准, ...
- sdk linux 离线安装方法,Android SDK离线安装方法详解(加速安装)
AndroidSDK在国内下载一直很慢··有时候通宵都下不了一点点,最后只有选择离线安装,现在发出离线安装地址和方法,希望对大家有帮助 一,首先下载SDK的安装包,android-sdk_r10-wi ...
- android js接口调用方法,详解Android JS相互调用
最近在研究Android.JS相互调用,之前没怎么接触过,只知道loadUrl()就可以加载一个网页了,研究过之后发现Android可以调JS,JS也可以调Android原生控件,很开心啊.下面小编就 ...
- android原生调用nextjs方法,详解使用Next.js构建服务端渲染应用
next.js简介 最近在学React.js,React官方推荐使用next.js框架作为构建服务端渲染的网站,所以今天来研究一下next.js的使用. next.js作为一款轻量级的应用框架,主要用 ...
- android toolbar 自定义,Android自定义Toolbar使用方法详解
本篇文章介绍: 如何使用Toolbar; 自定义Toolbar; 先来看一看效果,了解一下toolbar: 布局文件: android:id="@+id/toolbar" andr ...
- Android初级,实现网易云音乐歌曲列表界面效果,播放界面效果,ListView,ViewPager方法详解
初学Android初级,第一篇博客文章,如有错误,还望批评指正! 本文主要内容以网易云音乐歌曲列表界面效果代码,播放音乐界面效果代码为主,并将ListView和ViewPager作为实现界面滑动功能的 ...
最新文章
- Ember——在构建Ember应用程序时,我们会使用到六个主要部件:应用程序(Application)、模型(Model)、视图(View)、模板(Template)、路由(...
- WMAP环境上传图片报错【找不到临时文件夹】解决方案
- ARM学习笔记7——乘法指令
- PowerTip of the Day from powershell.com上周汇总(六)
- mysql命令参数_MySQL命令行参数完整版
- 微软拿下美国国防部100亿美元云合同,亚马逊不干了...
- dplayer js控制 自动全屏_vue 中使用video.js 实现m3u8视频播放格式
- Spring @Service批注
- struts2之chain的使用
- python opencv 找到圆点标定板所有点后通过距离找四个角点2
- java mac air_敲代码的Macbook Air2020终于到啦
- 电商营销新思路:CPS分销推广模式
- 解密微信拼团电商:拼多多
- @生存技巧!程序员如何应对女朋友的“小脾气”(最后附女友靓照)
- command命令大全(转自http://blog.dhedu.gov.cn/u/72/archives/2009/14290.html)
- 神经网络参数个数计算,神经网络的参数设置
- python3.5中文手册_Python-3.5.X官方学习入门指南中文版
- STM32 PS2游戏摇杆 测试
- 【数据挖掘】关联规则挖掘
- 冬瓜哥对时间和空间的理解方式—时空参悟(下)
热门文章
- 准确率、召回率、F1、mAP、ROC、AUC
- 2020第十一届蓝桥杯软件类省赛第二场C/C++ 大学 B 组(题解)
- P2494 [SDOI2011]保密(网络流/最小割/01分数规划)
- ac 梦幻布丁 启发式合并
- [省选联考 2020 A/B 卷] 冰火战士(树状数组上二分)
- 【学习笔记】信息学竞赛中的概率与期望小结
- 牛客挑战赛48C-铬合金之声【Prufer序列】
- AT3957-[AGC023F]01 on Tree【贪心,堆】
- P4336-[SHOI2016]黑暗前的幻想乡【矩阵树定理,容斥】
- CF297E-Mystic Carvings【树状数组】