最初のAndroidアプリでロジックの一部をカプセル化するライブラリクラスを作成しています。カプセル化したい関数の1つは、アドレス帳を照会する関数です。そのため、が必要ContentResolver
です。ライブラリ関数をブラックボックス化する方法を理解しようとしています...つまり、Activity
を取得するために独自のコンテキストで各パスを使用しないようにしContentResolver
ます。
ContentResolver
問題は、ライブラリ関数内からを取得する方法を一生理解できないことです。を含むインポートが見つかりませんgetContentResolver
。グーグルは、を呼び出すgetContext
ために使用すると言いましたが、どちらかを含むインポートが見つかりません。次の投稿は、呼び出すオブジェクトを取得するために使用すると言われています。しかし、どちらかを含むインポートが見つかりません!Context
getContentResolver
getContext
getSystemService
getContext
getSystemService
だから私は疑問に思っています、カプセル化されたライブラリ関数内でContentResolverを取得するにはどうすればよいですか、それともActivity
それ自体のコンテキストへの参照ですべての呼び出しパスを持っているのでかなり行き詰まっていますか?
私のコードは基本的に次のようなものです。
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は、を渡す必要がないように、Context
またはContentResolver
可能であれば、それをきれいにブラックボックス化することを望んでいたために探していたメソッドです。