0

私は、ユーザーの Android 連絡先を処理し、携帯電話の連絡先を移動できる SQL データベースとやり取りすることになっているクラスに取り組んでいます (データベース内の情報は ListView として表示されます)。Android の連絡先を名前で取得し、その連絡先のすべての情報を返す関数を作成しました。私の機能は次のとおりです。

public Cursor getContactByName(String name)
{
    Uri uri = ContactsContract.Data.CONTENT_URI;
    String[] projection = null;
    String selection = Data.DISPLAY_NAME + "=?";
    String[] selectionArgs = new String[]{name};
    String sortOrder = null;

    return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}

したがって、これは別の関数によって呼び出され、最初に連絡先が存在するかどうかを確認するという考えです。この関数は、その連絡先の情報のみを含むカーソルを返します。まず、連絡先の情報を含む Cursor を返すのが正しいのか、それともこの情報を格納してクラスのオブジェクトを返すクラスを作成する必要があるのか​​ を知りたいですか? それとも、文字列を返す必要がありますか? 私が返すのは、自分のデータベースに移動しようとしている連絡先であることを念頭に置いて、 Cursor を返すことは私が目指すべきものではないように感じます。副次的な質問として、私の目的のために managedQuery の代わりに ContentResolver.query を使用する理由はありますか?

4

2 に答える 2