Cursor c = getContent().query(Phones.CONTENT.URI, null, null, null, null);
你如何阅读这行代码?首先,这是方法调用中的这两个方法调用吗?我想当你在方法调用中有方法调用时,第一个方法调用是第二个方法调用的括号内的参数。我读错了吗?
第二,这行代码到底是做什么的?
答案 0 :(得分:0)
getContent()
将获得一些对象实例,然后使用它来调用query(...)
。
它正在做类似的事情......
Content content = getContent();
Cursor c = content.query(...);
所以这段代码正在做的是从内容查询中获取结果(通过query
)并将其放入Cursor
对象中,该对象可用于访问结果。
答案 1 :(得分:0)
它调用一个方法,然后将结果用作另一个方法的目标。
请注意,这与Android无关......这是完全正常的Java。
作为一个更简单的例子:
String x = "hello there";
int y = x.substring(2, 4).length();
答案 2 :(得分:0)
对于你的第二个问题,如果不了解背景,很难确切知道这是做什么的。一般的答案是它向某些内容提供者查询某些信息,而不传递任何信息(4个空值)。
关于如何阅读,让我试试。
光标c
这声明了一个Cursor
类型的变量(c)<强>的getContent()强>
这将调用正在执行的类的getContent()方法或它的超类,在我最好的猜测中,它返回一个ContentResolver(或类似的)对象。
<强>查询(....)强>
在getContent()方法的返回值(很可能是ContentResolver)上调用“query”方法,同时将一些值传递给方法。
<强> Phones.CONTENT_URI 强>
定义Phone ContentProvider的URI的静态/常量变量。