Wednesday, March 20, 2013

Access phoneBoook In Android

In this blog  I  will describe how to access Conatcts/Phonebook in your Android Application.

Contacts are stored in separate tables(in Row and Column form)

 

 

 

 ContactsContract 

ContactsContract defines an extensible database of contact-related information. Contact information is stored in a three-tier data model:
  • A row in the ContactsContract.Data table can store any kind of personal data, such as a phone number or email addresses. The set of data kinds that can be stored in this table is open-ended. There is a predefined set of common kinds, but any application can add its own data kinds.
  • A row in the ContactsContract.RawContacts table represents a set of data describing a person and associated with a single account (for example, one of the user's Gmail accounts).
  • A row in the ContactsContract.Contacts table represents an aggregate of one or more RawContacts presumably describing the same person. When data in or associated with the RawContacts table is changed, the affected aggregate contacts are updated as necessary. 
find more  Information here


Cursor c1;
// list Columns to retive  , pass null to get all the columns
                String col[]={ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME};
                c1 = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, col, null, null, ContactsContract.Contacts.DISPLAY_NAME);
               

                String personName = null, number = "";
                if(c1==null)
                    return;
// Fetch the Corresponding Phone Number of  Person Name
                try
                {
                        if(c1.getCount() > 0)
                        {
                                while(c1.moveToNext())
                                {

                                    String id = c1.getString(c1.getColumnIndex(Contacts._ID));
                                    personName = c1.getString(c1.getColumnIndex(Contacts.DISPLAY_NAME));
                                    if(id==null||personName==null)
                                        continue;
                                    Cursor cur = mContext.getContentResolver().query(CommonDataKinds.Phone.CONTENT_URI, null, CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{id}, null);
                                    if(cur==null)
                                        continue;
                                    number = "";
                                    while(cur.moveToNext())
                                    {
                                        number = cur.getString(cur.getColumnIndex(CommonDataKinds.Phone.NUMBER));
                                    }
                                    cur.close();
                                    if(!number.equals(""))
                                    {
                                            number=removeUnnecessaryCharacters(number);
                                            numberList.add(number);
                                            nameList.add(personName);
                                    }
                       
                                }
                        }
                }
                catch(Exception e)
                {
                   
                }
                finally
                {
                        c1.close();
                }

4 comments:

  1. Hi, I wish for tο subscribe for this blog to obtaіn neωеst updates, thuѕ where can i do іt plеaѕe help out.



    Heгe іs my blοg :: Hämorrhoiden

    ReplyDelete
  2. Woω! Finally I got a blog fгom whеre ӏ
    be capable of trulу оbtаin hеlpful data conceгning my study and knowledge.



    Looκ at my websitе - gochatroulettego.de

    ReplyDelete
  3. Generally I do not learn post on blogs, but
    I wish to saу that this writе-up verу forсed me to chеck
    out аnԁ ԁo it! Your writing style has been amazeԁ me.
    Thаnk yοu, verу nice article.

    Also visіt my web-sіte: http://cellulitee.de/

    ReplyDelete
  4. Wow, amazіng blоg layout! How long
    have yοu been bloggіng for? you made blogging look easy.
    The overall look of yоur web site is wonderful, let alоne the сontent!


    Fеel free tο visit my web page: les hémorroïdeѕ (Hiredream.com)

    ReplyDelete