Categories: Symbian C++ | S60 | Code Examples | PIM
This page was last modified 17:28, 7 August 2008.
Adding a Contact Item
From Forum Nokia Wiki
The following example shows how to create a new contact, add suitable fields, and add the contact to the database. In this example, three text fields with fieldtypes, text labels, and text values are added to a contact. Note that whenever a field is added to a contact, the contact becomes responsible for managing the memory and other resources associated with the field. Therefore, it is not necessary to delete these fields explicitly – popping them from the cleanup stack is sufficient.
// Some literal strings for the fields: _LIT(KForenameLabel,"Forename"); _LIT(KSurnameLabel,"Surname"); _LIT(KWorkPhoneLabel,"Work Phone"); _LIT(KForename,"Satya"); _LIT(KOtherForename,"Naresh"); _LIT(KSurname,"Vattikuti"); _LIT(KWorkPhone,"+919985671193"); // Open the default contacts database: CContactDatabase* contactsDb = CContactDatabase::OpenL(); CleanupStack::PushL(contactsDb); // Create a contact card and add some fields: CContactItem* contact = CContactCard::NewLC(); CContactItemField* field = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldFamilyName); field->SetMapping(KUidContactFieldVCardMapUnusedN); field->SetLabelL(KSurnameLabel); field->TextStorage()->SetTextL(KSurname); contact->AddFieldL(*field); CleanupStack::Pop(); field = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldGivenName); field->SetMapping(KUidContactFieldVCardMapUnusedN); field->SetLabelL(KForenameLabel); field->TextStorage()->SetTextL(KForename); contact->AddFieldL(*field); CleanupStack::Pop(); field = CContactItemField::NewLC(KStorageTypeText, KUidContactFieldPhoneNumber); field->SetMapping(KUidContactFieldVCardMapTEL); field->SetLabelL(KWorkPhoneLabel); field->TextStorage()->SetTextL(KWorkPhone); contact->AddFieldL(*field); CleanupStack::Pop(); // Add the new contact to the database and set it as the own card: contactsDb->AddNewContactL(*contact); contactsDb->SetOwnCardL(*contact); CleanupStack::PopAndDestroy(2); // contact contactsDb
The contact card that represents the electronic business card of the owner of the Symbian mobile phone can be set by calling the CContactDatabase::SetOwnCardL() function. Note that the CContactItemField::SetMapping() function is called for each of the fields created earlier. This function associates a field with one of the standard vCard fields and is required if the contact will be populated from or will generate a vCard. This mapping is also needed if the application developer wants the contact to be displayed in the Phonebook application.
Links
Reading and Editing a Contact Item
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| PIM Access for N75 Phone Book | arbind | Mobile Java General | 3 | 2008-03-16 18:19 |
| ID of a contact | freaky_911 | Python | 3 | 2008-03-23 16:32 |
| pim groups | Nedferatus | Mobile Java General | 2 | 2006-07-13 07:30 |
| PIM contact list supported array elements | gbaballa | Mobile Java General | 3 | 2008-07-09 13:40 |
| Wrap around for CAknForm | heuven | Symbian User Interface | 0 | 2008-04-10 17:50 |
