0

アプリケーションで電話連絡先をグループに分割する必要がありますが、アプリケーションでのみグループを分割する必要があるため、元の電話連絡先データベースにグループを追加したくありません。グループテーブルを持つ独自のデータベースを作成しました。

groups(group_id int, group_name text, message text)

およびcontacts_groupテーブル。

contacts_group(contact_id, group_id)

今私が直面している問題:グループからすべての連絡先を取得するためのクエリを作成するにはどうすればよいですか (電話連絡先データベースから)。

次のようなものが必要です: Select ...DISPLAY_NAME, ...NUMBER where ..._ID in (String[] ids) while String[] ids is a array of contact_ids from contacts_group table. 文字列配列を「?」に入れることは可能ですか? 生のクエリで?As.. Select... where .._ID in ?, string[] ? 事前に助けてくれてありがとう よろしく

4

1 に答える 1

0

問題が解決しました。解決:

public static Cursor getContactsFromGroup(String[] ids, SQLiteDatabase db) {
        Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
        String[] projection = { ContactsContract.CommonDataKinds.Phone._ID,
                ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                ContactsContract.CommonDataKinds.Phone.NUMBER };

        Cursor c = context.getContentResolver().query(uri, projection,
                "_ID IN (" + makePlaceHolders(ids.length) + ")", ids, null);


    }

makePlacHoldes(int) はどこに "?" を置きますか? chars、param 配列と同じ数。よろしく

于 2013-06-03T08:22:51.780 に答える