0

「Calls.CONTENT_URI」コンテンツ プロバイダーを使用しています。既に列名を取得しましたが、このコンテンツ プロバイダーの列名 "name" からすべての名前を取得したいと考えています。

私は以下のコードを持っています:

uri = Calls.CONTENT_URI;

    String[] projection = {"name"};
    String selection = null;
    String[] selectionArgs = null;
    String sort = null;


    resolver = getContentResolver();

    cursor = resolver.query(uri, projection, selection, selectionArgs, sort);
    Log.i("TUTORIAL", "counts :"+cursor.getCount());    

    String s;
    cursor.moveToFirst();

    for(int x=0; x<cursor.getCount(); x++){

        s = cursor.getString(x);
        Log.i("TUTORIAL", ""+s);

        //cursor.moveToNext();


    }

ただし、これは 1 つの名前のみを取得します。次のように、携帯電話に保存されているすべての名前のリストが必要です。

ジョン・ピーター・マーク・スージー。. バツ

しかし、今では次のような名前が 1 つだけあります。

ピーター。私が十分に明確であることを願っています。

どうしたの?事前に助けてくれてありがとう。

4

3 に答える 3

0

あなたはこれを試すことができます、それは私のために働いています:

public void readContacts() {
        Cursor cur = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {

                    // Get contact id (id)
                    String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));

                    // Get contact name (displayName)
                    String displayName = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

                }
            }
        }
        cur.close();
    }
于 2013-03-04T13:34:43.393 に答える
0

私はこれがあなたを助けると思う

        ArrayList<String> nameList = new ArrayList<String>();
    String[] projection = {"name"};
    String selection = null;
    String[] selectionArgs = null;
    String sort = null;
    resolver = getContentResolver();
    cursor = resolver.query(uri, projection, selection, selectionArgs, sort);
    Log.i("TUTORIAL", "counts :"+cursor.getCount());    
    String s;
    if(cursor.moveToFirst()) {
        do {
            nameList.add(cursor.getString(0));
            //your code
            //s = cursor.getString(x);
            Log.i("TUTORIAL", ""+cursor.getString(0));
        }while(cursor.moveToNext());
    }
于 2013-03-04T13:09:52.700 に答える