| ID | CS001225 | Creation date | December 15, 2008 |
| Platform | S60 5th Edition | Tested on devices | Nokia 5800 XpressMusic |
| Category | Flash Lite | Subcategory | S60 Platform Services |
| Keywords (APIs, classes, methods, functions): Service.Contact, contact.Organise(), contact.GetList(), contact.Add() |
The following code snippet demonstrates how to use the Contact Service API in a Flash Lite 3.0 application to organise the contacts in the phonebook (supported from S60 5th Edition onwards).
Note: The test device must have at least two contacts at the phonebook.
// Import the Platform Service Interface
import com.nokia.lib.Service;
// Heading of the application
heading_txt.text = "Group Contacts";
// Create a new Service object which has Calendar data
var contact = new Service("Service.Contact", "IDataSource");
// At the first, create a new Group called "FirstTwo"
// Define input parameters for the group
var group = {GroupLabel:"FirstTwo"}
var inAddParams = {Type:"Group", Data:group};
// Define the result data
var outAddParams = contact.Add(inAddParams);
// Check if adding the group was a success
if (outAddParams.ErrorCode == 0) {
outAddParams.ReturnValue
text_txt.text = "Group added!\r";
} else {
var errorId = outAddParams.ErrorCode;
text_txt.text += "Error while adding group: "+errorId+"\r";
}
// At the second, get a list of contacts
var inListParams = {Type:"Contact"};
// Define result value for the list
var outListParams = contact.GetList(inListParams);
if (outListParams.ErrorCode == 0) {
var outList = outListParams.ReturnValue;
var outputEntry = null;
var contactIdList:Array = new Array();
var nameList:Array = new Array();
do {
outputEntry = outList.next();
if (null != outputEntry) {
// Get the lists of IDs and firstname to Arrays
contactIdList.push(outputEntry.id);
nameList.push(outputEntry.FirstName["Value"]);
} else {
break;
}
} while (true);
} else {
// if errors, copy them to the textfield
var errorId2 = outListParams.ErrorCode;
text_txt.text += "Error while listing contacts: "+errorId2+"\r";
}
// At the third, get a list of groups and pick the ID of the group called
// "FirstTwo"
var inListGroupsParams = {Type:"Group"};
// Define the result value for the list of groups
var outListGroupsParams = contact.GetList(inListGroupsParams);
if (outListGroupsParams.ErrorCode == 0) {
var groupOutList = outListGroupsParams.ReturnValue;
var groupOutputEntry = null;
text_txt.text += "Groups: \r";
do {
groupOutputEntry = groupOutList.next();
if (null != groupOutputEntry) {
text_txt.text += "- "+groupOutputEntry.GroupLabel+"\r";
if(groupOutputEntry.GroupLabel == "FirstTwo") {
var groupId = groupOutputEntry.id;
}
} else {
break;
}
} while (true);
} else {
// if errors, copy them to the textfield
var errorId2 = outListParams.ErrorCode;
text_txt.text += "Error while listing groups: "+errorId2+"\r";
}
// Take the first two contacts from the phonebook to the group called "FirstTwo"
var idList = [contactIdList[0],contactIdList[1]];
text_txt.text += "Organized contacts: \r"+nameList[0]+", "+nameList[1]+"\r";
// Define the input parameters
var inputData = {id:groupId, IdList:idList};
var inParams = {Type:"Group", Data:inputData, OperationType:"Associate"};
// Define the result value
var outParams = contact.Organise(inParams);
// Check if organise success
if (outParams.ErrorCode == 0) {
text_txt.text += "Success!";
} else {
var errorId3 = outParams.ErrorCode
text_txt.text += "Error while grouping: "+errorId3;
}
All groups in the phonebook, and organized contacts, are displayed. A new group called "FirstTwo" can be found from the phonebook and the group contacts two contacts which are the first two in the default phonebook.
The following sample application has been tested in Nokia 5800 XpressMusic (S60 5th edition, Flash Lite 3.0).
File:FlashLite Organise Contacts.zip
No related wiki articles found