×
Namespaces

Variants
Actions

Archived:Organising contacts in Flash Lite

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

We do not recommend Flash Lite development on current Nokia devices, and all Flash Lite articles on this wiki have been archived. Flash Lite has been removed from all Nokia Asha and recent Series 40 devices and has limited support on Symbian. Specific information for Nokia Belle is available in Flash Lite on Nokia Browser for Symbian. Specific information for OLD Series 40 and Symbian devices is available in the Flash Lite Developers Library.

This code snippet demonstrates how to organise contacts in the phonebook using the Contact Service API in a Flash Lite 3.0 (supported from S60 5th Edition onwards).

Article Metadata
Code ExampleTested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 5th Edition
S60 5th Edition
Article
Keywords: Service.Contact, contact.Organise(), contact.GetList(), contact.Add()
Created: User:Nokia Developer KB (15 Dec 2008)
Last edited: hamishwillee (14 May 2013)

Contents

Preconditions

Note.pngNote: The test device must have at least two contacts at the phonebook.

Source

// 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;
}

Postconditions

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.

Example application

The following sample application has been tested in Nokia 5800 XpressMusic (S60 5th edition, Flash Lite 3.0).
File:FlashLite Organise Contacts.zip

See also

This page was last modified on 14 May 2013, at 06:18.
86 page views in the last 30 days.