问题描述
我正在写一库类封装了一些我的逻辑在我的第一个Android应用程序。其中一个我要封装的函数的功能是查询地址簿。因此,它需要一个 ContentResolver的
。我试图找出如何保持库函数的黑盒装...也就是说,为了避免各活动
通过在自己的范围内获得 ContentResolver的
。
I'm writing a library class to encapsulate some of my logic in my first Android app. One of the functions which I want to encapsulate is a function which queries the address book. As such, it needs a ContentResolver
. I'm trying to figure out how to keep the library functions black-boxed... that is, to avoid having each Activity
pass in its own context to get a ContentResolver
.
问题是我不能为我的生活弄清楚如何获得 ContentResolver的
从我的库函数。我找不到包含 getContentResolver
导入。谷歌搜索说要用的getContext
获得上下文
上调用 getContentResolver
,但我无法找到包含的getContext
为导入。接下来的帖子说要用 getSystemService
去调用对象的getContext
。但是 - 我不能找到包含 getSystemService
无论任何进口!
Problem is I cannot for the life of me figure out how to get a ContentResolver
from within my library function. I can't find an import that contains getContentResolver
. Googling said to use getContext
to get a Context
on which to call getContentResolver
, but I can't find an import containing getContext
either. Next posts said to use getSystemService
to get an object to call getContext
. BUT - I can't find any import containing getSystemService
either!
所以我坚持想知道,我怎么能得到一个ContentResolver的封装库函数中,还是我pretty的多粘不必每次调用活动
传递提到自己的上下文?
So I'm stuck wondering, how can I get a ContentResolver within an encapsulated library function, or am I pretty much stuck having every calling Activity
pass in a reference to its own context?
我的code是东西基本上是这样的:
My code is something basically like this:
public final class MyLibrary {
private MyLibrary() { }
// take MyGroupItem as a class representing a projection
// containing information from the address book groups
public static ArrayList<MyGroupItem> getGroups() {
// do work here that would access the contacts
// thus requiring the ContentResolver
}
}
getGroups就是我一直在寻找,以避免传递一个上下文的方法
或 ContentResolver的
如果我能,因为我希望把它干净的黑色盒装。
getGroups is the method where I was looking to avoid having to pass in a Context
or ContentResolver
if I could, as I was hoping to have it cleanly black-boxed.
推荐答案
让每个库函数调用通过在一个 ContentResolver的
...或延长应用
来留住上下文和静态访问它。
Have each library function call pass in a ContentResolver
... Or extend Application
to keep hold of a context and access it statically.
这篇关于我怎么能叫getContentResolver在Android的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!