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的降序排列:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java实现动态验证码源代码——jsp页面

我们通常在其他网站注册或者登陆的时候会发现一个很高大上的验证码&#xff0c;那么怎么用java代码实现呢&#xff1f;下面我给大家贴一下我写的方法&#xff1a; 此文章是写的前台jsp页面的代码&#xff1a; <% page language"java" import"java.util.*&quo…

集成Swagger(API)---SpringBoot

集成Swagger(API) 学习目标: 了解Swagger的概念及作用掌握在项目中集成Swagger自动生成API文档Swagger简介 前后端分离 前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合产生的问题 前后端集成,前端或者…

win10硬盘修复工具使用教程

DiskGenius 下载地址https://www.diskgenius.cn/download.php https://baijiahao.baidu.com/s?id1651410139210648102&wfrspider&forpc win10硬盘修复工具使用教程 小白一键重装系统 发布时间&#xff1a;19-11-2810:17惠州市早点科技官方帐号&#xff0c;优质创作者…

.NET Core Tools转向使用MSBuild项目格式

微软之前为了让.NET Core和ASP.NET Core能够支持Windows Visual Studio之外的开发平台&#xff0c;创建了基于project.json格式的项目系统。不过可惜&#xff0c;这种格式与之前的.csproj/MSBuild无法兼容。来自微软的Rich Lander近期宣布&#xff0c;.NET Core Tools将在最新的…

java多线程之:SynchronousQueue队列

转载自 java多线程之&#xff1a;SynchronousQueue队列 SynchronousQueue是这样一种阻塞队列&#xff0c;其中每个 put 必须等待一个 take&#xff0c;反之亦然。同步队列没有任何内部容量&#xff0c;甚至连一个队列的容量都没有。 不能在同步队列上进行 peek&#xff…

android:background大小,小Demo小知识-android:foreground与android:background

-----------------------------------------------前言君--------------------------------------------------正好碰到了这个foreground属性平时没怎么用到过。这次用到&#xff0c;就特意的去看了下。在这里记录一下。------------------------------------------------正文君…

java实现动态验证码源代码——绘制验证码的jsp

接着上一篇的前台jsp页面&#xff0c;我们单独写一个绘制验证码的jsp页面&#xff1a; <% page contentType"image/jpeg"import"java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"pageEncoding"utf-8"%> <%!Color getRandColo…

异步任务---SpringBoot

异步任务 同步 1、创建一个service包 2、创建一个类AsyncService 异步处理还是非常常用的&#xff0c;比如我们在网站上发送邮件&#xff0c;后台会去发送邮件&#xff0c;此时前台会造成响应不动&#xff0c;直到邮件发送完毕&#xff0c;响应才会成功&#xff0c;所以我们…

idea报错:Error:java: JDK isn‘t specified for module ‘xxx‘

idea报错&#xff1a;Error:java: JDK isn‘t specified for module ‘xxx‘ Code_LiYi 2020-07-01 11:54:34 274 收藏 分类专栏&#xff1a; 学海漂游 版权 错误&#xff1a;idea报错Error:java:JDK isn’t specified for module “XXXX” 原因&#xff1a;项目中的.idea文…

微软推出《我的世界》“编程一小时”免费教程,携手Code.org普及计算机科学教育

为了继续支持全球计算机科学教育周期间的“编程一小时”年度全球活动&#xff08;12月5日至11日&#xff09;&#xff0c;微软和Code.org共同发布了针对学生和教育工作者的《我的世界》造物主版编程教程。网页版全新教程现已免费上线&#xff0c;初学者可以通过教程中简单的游戏…

集合框架 Queue---ArrayBlockingQueue

转载自 集合框架 Queue---ArrayBlockingQueue 摘要&#xff1a;java.util.concurrent类java.util.concurrent 类 ArrayBlockingQueue<E> java.lang.Object java.util.AbstractCollection<E> java.util.AbstractQueue<E> java.util.…

android 处理http状态码,OkHttp(Retrofit)对于http状态码202的处理

http code 202 :The request has been accepted for processing, but the processing has not been completed.这时候&#xff0c;服务器给你的body是空的&#xff0c;如果你使用去解析为json&#xff0c;那么&#xff0c;恭喜你java.io.EOFException: End of input at line 1 …

java实现动态验证码源代码——接受ajax的jsp

此篇主要介绍的是接受前台ajax的数据&#xff0c;判断输入的验证码是否正确&#xff1a; <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <%//从session里面获取图片验证码String inputCode request.getParameter…

邮件发送---SpringBoot

邮件任务 邮件发送&#xff0c;在我们的日常开发中&#xff0c;也非常的多&#xff0c;Springboot也帮我们做了支持 邮件发送需要引入spring-boot-start-mailSpringBoot 自动配置MailSenderAutoConfiguration定义MailProperties内容&#xff0c;配置在application.yml中自动装…

2.Idea分支的merge

1.选择需要merge到的版本 比如说develop是主板本。temp是紧急分支版本的话。 name要选到develop这个版本进行操作。 2.进行merge 1.选择“merge changes” image.png 2.选择对应的要merge的版本 image.png 3.记得PUSH代码 0人点赞 IDEA git使用 作者&#xff1a;了凡_850…

在Linux上编译dotnet cli的源代码生成.NET Core SDK的安装包

.NET 的开源&#xff0c;有了更多的DIY乐趣。这篇博文记录一下在新安装的 Linux Ubuntu 14.04 上通过自己动手编译 dotnet cli 的源代码生成 .net core sdk 的 deb 安装包。 1&#xff09;安装一个现有版本的 .net core sdk sudo sh -c echo "deb [archamd64] https://apt…

android菱形imageview,ios – 在UICollectionView中,UIImageView应该是圆形视图而不是菱形...

我有UICollectionView和UIImageView(如图所示).我想把它作为圆形视图.但是,当我运行应用程序时,它显示为菱形(下图).在(UICollectionViewCell *)collectionView&#xff1a;(UICollectionView *)collectionView中cellForItemAtIndexPath&#xff1a;(NSIndexPath *)indexPath {…

Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue

转载自 Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue 前言&#xff1a; BlockingQueue很好的解决了多线程中&#xff0c;如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类&#xff0c;为我们快速搭建高质量的多线程程序带来极大的便利…

定时任务---SpringBoot

定时任务 项目开发中经常需要执行一些定时任务&#xff0c;比如需要在每天凌晨的时候&#xff0c;分析一次前一天的日志信息&#xff0c;Spring为我们提供了异步执行任务调度的方式&#xff0c;提供了两个接口。 TaskExecutor接口 任务执行TaskScheduler接口 任务调度 两个注…

java实现遍历树形菜单方法——设计思路【含源代码】

开发工具&#xff1a;MyEclipse 10 后台框架&#xff1a;Hibernate Struts2 数据库&#xff1a;Oracle 11g 前台框架&#xff1a;EasyUi 浏览器&#xff1a;谷歌 在开发中我们经常会遇到左边是树形菜单&#xff0c;右边是一个显示列表&#xff0c;单击左边的树形菜单项时&…