Search code examples
javaandroidandroid-contentprovider

Get list of all names in content provider


I'm using "Calls.CONTENT_URI" content provider. I already retrived column names, but now i would like to get let's say, ALL names from column name "name" in this content provider.

I have code below:

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();


    }

But this retrives only one name. I would like to have list of all names saved in my phone like:

John Peter Mark Suzy . . X

But now i got just one name like:

Peter. Hope i've been clear enough.

What's the problem? Thanks for help in advance.


Solution

  • I think this would help you

            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());
        }