Interface AddressBook
주소록의 추상화 표현
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
주소록의 추상화 표현. |
Method Summary
Interface Detail
주소록의 추상화 표현.주소록은 연락처의 집합입니다. 이 인터페이스는 주소록에서 연락처를 관리할 수 있도록 다음과 같은 함수들을 제공합니다.
•findContact 함수와 필터로 연락처를 검색합니다.
•addContact함수로 특정 주소록에 연락처를 추가합니다.
•updateContact 함수로 기존 연락처 정보를 갱신합니다.
•deleteContact 함수로 연락처를 삭제합니다.
Method Detail
-
{PendingOperation} addContact(successCallback, errorCallback, contact)
비동기적으로 주소록에 연락처를 추가합니다.
연락처가 주소록에 추가되면 id 속성 값이 부여된 Contact 객체가 매개변수로 전달되어 successCallback 함수가 호출됩니다. 연락처 추가에 실패하면 오류의 원인을 설명하는 DeviceAPIError 객체를 매개변수로 하여 (errorCallback 함수를 지정한 경우) errorCallback 함수를 호출합니다. 발생 가능한 에러 코드는 다음과 같습니다.
• NOT_SUPPORTED_ERR: 이 피쳐가 지원되지 않는 경우
• SECURITY_ERR: 이 연산이 허용되지 않는 경우
• INVALID_VALUES_ERR: 유효하지 않은 값이 포함된 경우 혹은 텍스트의 길이가 주소록의 제한을 넘은 경우 등
• UNKNOWN_ERR: 그 밖에 다른 모든 경우
var addressbook; // Define the error callback for all the asynchronous calls function errorCallback(response) { alert( "The following error occurred: " + response.code); } function contactAddedCB(contact) { alert("Contact Added with id " + contact.id); } // Define the success callback for retrieveing all the // Address Books function AddressBooksCB(addressbooks) { if(addressbooks.length > 0) { addressbook = addressbooks[0]; alert("The addressbook type is " + addressbook.type + " and name " + addressbook.name); var contact = addressbook.createContact( {firstName:'Jeffrey', lastName:'Hyman', nicknames:['joey ramone'], emails:[{email:'user@domain.com'}], phoneNumbers:[{number:'666666666'}]}); addressbook.addContact(contactAddedCB, errorCallback, contact); } } // Get a list of available Address Books. deviceapis.pim.contact.getAddressBooks(AddressBooksCB, errorCallback);- Parameters:
- {AddContactSuccessCallback} successCallback
연락처 추가에 성공한 경우 호출됩니다
- {ErrorCallback} errorCallback
연락처 추가에 실패한 경우 호출됩니다.
- {Contact} contact
단말 저장공간에 추가된 연락처 객체
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {PendingOperation}
비동기 방식으로 호출된 함수를 취소할 수 있는 PendingOperation 객체입니다
-
{Contact} createContact(contactProperties)
ContactProperties 인터페이스를 기반으로 Contact 객체를 생성합니다.
이 함수는 Contact 인터페이스의 객체를 생성하고 반환합니다.
매개변수 contactProperties 객체를 생략한 경우 반환되는 Contact 객체의 모든 속성은 기본 값을 갖습니다. contactProperties의 속성들 중 일부에만 값이 지정된 경우 반환되는 Contact 객체의 속성들 중 나머지 속성들은 기본 값을 갖습니다.
이 연산은 생성된 연락처를 주소록에 추가하거나 id 속성을 부여하지 않습니다. 이렇게 하려면 개발자가 직접 addContact 함수를 호출해야 합니다.
var addressbook; // Define the error callback for all the asynchronous calls function errorCallback(response) { alert( "The following error occurred: " + response.code); } function contactAddedCB(contact) { alert("Contact Added with id " + contact.id); } // Define the success callback for retrieveing all the // Address Books function AddressBooksCB(addressbooks) { if(addressbooks.length > 0) { addressbook = addressbooks[0]; alert("The addressbook type is " + addressbook.type + " and name " + addressbook.name); var contact = addressbook.createContact( {firstName:'Jeffrey', lastName:'Hyman', nicknames:['joey ramone'], emails:[{email:'user@domain.com'}], phoneNumbers:[{number:'666666666'}]}); addressbook.addContact(contactAddedCB, errorCallback, contact); } } // Get a list of available Address Books. deviceapis.pim.contact.getAddressBooks(AddressBooksCB, errorCallback);- Parameters:
- {ContactProperties} contactProperties
연락처 정보
- Throws:
INVALID_VALUES_ERR: ContactProperties에 유효하지 않은 값이 포함된 경우
NOT_SUPPORTED_ERR: 이 피쳐가 지원되지 않는 경우
TYPE_MISMATCH_ERR: 매개변수의 형식이 올바르지 않은 경우
UNKNOWN_ERR: 그 밖에 다른 모든 경우
- Returns:
- {Contact}
생성된 Contact 객체
-
{PendingOperation} deleteContact(successCallback, errorCallback, id)
주소록의 연락처를 비동기적으로 삭제합니다.
지정된 id 매개변수에 대응하는 연락처 정보를 삭제합니다. 연락처 삭제에 성공하면 successCallback 함수가 호출됩니다. 실패하면 오류의 원인을 설명하는 DeviceAPIError 객체를 매개변수로 하여 (errorCallback 함수를 지정한 경우) errorCallback 함수를 호출합니다. 발생 가능한 에러 코드는 다음과 같습니다.
•NOT_SUPPORTED_ERR: 이 피쳐가 지원되지 않는 경우
•SECURITY_ERR: 이 연산이 허용되지 않는 경우
•INVALID_VALUES_ERR: 유효하지 않은 값이 포함된 경우
•NOT_FOUND_ERR: id 속성에 대응되는 연락처가 없는 경우
•UNKNOWN_ERR: 그 밖에 다른 모든 경우
var adddressbook; // Define the error callback. function errorCallback(response) { alert( "The following error occurred: " + response.code); } // Define the contact delete success callback. function contactDeleteSuccessCallback() { alert("Deleted"); } // Define the contact success callback. function contactSearchSuccessCallback(contacts) { // Delete the first existing contact. addressBook.deleteContact(contactDeleteSuccessCallback, errorCallback, contacts[0].id); } // Define the address books success callback. function addressbooksSuccessCallback(addressbooks) { addressbook = addressbooks[0]; // Find all contacts in Address Book 0. addressbook.findContacts(contactSearchSuccessCallback, errorCallback); } // Get a list of available address books. deviceapis.pim.contact.getAddressBooks(addressbooksSuccessCallback, errorCallback);- Parameters:
- {SuccessCallback} successCallback
연락처 삭제에 성공한 경우 콜백으로 호출됩니다.
- {ErrorCallback} errorCallback
연락처 삭제에 성공한 경우 콜백으로 호출됩니다.
- {DOMString} id
삭제할 연락처의 id 속성입니다.
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {PendingOperation}
비동기 방식으로 호출된 함수를 취소할 수 있는 PendingOperation 객체입니다.
-
{PendingOperation} findContacts(successCallback, errorCallback, filter)
주소록에서 지정된 필터에 부합하는 연락처들에 대한 Contact 객체의 배열을 얻습니다.
filter 매개변수를 지정한 경우 주소록에서 ContactFilter 인터페이스에 지정한 조건에 부합하는 연락처들에 대한 Contact 객체의 배열을 매개변수로 successCallback 함수를 호출합니다. filter 매개변수를 생략한 경우 주소록의 전체 연락처에 대한 Contact 객체의 배열이 매개변수로 전달됩니다. 주소록에 연락처가 없거나 filter 조건에 부합하는 연락처가 없는 경우 빈 배열이 전달됩니다.
오류가 발생한 경우 오류의 원인을 설명하는 DeviceAPIError 객체를 매개변수로 하여 (errorCallback 함수를 지정한 경우) errorCallback 함수를 호출합니다. 발생 가능한 에러 코드는 다음과 같습니다.
•NOT_SUPPORTED_ERR: 이 피쳐가 지원되지 않는 경우
•SECURITY_ERR: 이 연산이 허용되지 않는 경우
•INVALID_VALUES_ERR: 유효하지 않은 값이 포함된 경우
•UNKNOWN_ERR: 그 밖에 다른 모든 경우// Define the error callback. function errorCallback(response) { alert( "The following error occurred: " + response.code); } // Define the contact search success callback. function contactSearchSuccessCallback(contacts) { alert(contacts.length + " results found."); } // Define the address book lists success callback. function abListSuccessCallback(addressbooks) { // Find all contacts in the first address book that contains in // the nick name list the word ramone addressbooks[0].findContacts(contactSearchSuccessCallback, errorCallback, {nickname:"%ramone%"}); } // Get a list of available address books. deviceapis.pim.contact.getAddressBooks(abListSuccessCallback, errorCallback);- Parameters:
- {ContactArraySuccessCallback} successCallback
연락처 찾기에 성공한 경우 콜백으로 호출됩니다.
- {ErrorCallback} errorCallback
연락처 찾기에 실패한 경우 콜백으로 호출됩니다.
- {ContactFilter} filter
대상 연락처를 한정하기 위한 필터입니다.
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {PendingOperation}
비동기 방식으로 호출된 함수를 취소할 수 있는 PendingOperation 객체입니다.
-
{PendingOperation} updateContact(successCallback, errorCallback, contact)
주소록의 기존 연락처를 비동기적으로 갱신합니다.
연락처 객체의 id 속성에 대응하는 연락처 정보를 업데이트 합니다. 업데이트에 성공하면 uccessCallback 함수가 호출됩니다. 업데이트에 실패하면 오류의 원인을 설명하는 DeviceAPIError 객체를 매개변수로 하여 (errorCallback 함수를 지정한 경우) errorCallback 함수를 호출합니다. 발생 가능한 에러 코드는 다음과 같습니다.
•NOT_SUPPORTED_ERR: 이 피쳐가 지원되지 않는 경우
•SECURITY_ERR: 이 연산이 허용되지 않는 경우
•INVALID_VALUES_ERR: 유효하지 않은 값이 포함된 경우 혹은 텍스트의 길이가 주소록의 제한을 넘은 경우 등
•NOT_FOUND_ERR: id 속성에 대응되는 연락처가 없는 경우
•UNKNOWN_ERR: 그 밖에 다른 모든 경우var addressbook; // Define the error callback for all the asynchronous calls function errorCallback(response) { alert( "The following error occurred: " + response.code); } function contactUpdatedCB() { // The contact has been successfully updated alert('Contact Successfully updated'); } function contactFoundCB(contacts) { // The contact has been successfully found // Let's try to add a new nickName contacts[0].nickName.push('Joey Ramone'); addressbook.updateContact(contactUpdatedCB, errorCallback, contacts[0]); } // Define the success callback for retrieving all the // Address Books function AddressBooksCB(addressbooks) { if(addressbooks.length > 0) { addressbook = addressbooks[0]; alert("The addressbook type is " + addressbook.type + " and name " + addressbook.name); addressbook.findContacts(contactFoundCB, errorCallback, {firstName:'%Jeffrey%'}); } } // Get a list of available Address Books. deviceapis.pim.contact.getAddressBooks(AddressBooksCB, errorCallback);- Parameters:
- {SuccessCallback} successCallback
연락처 갱신에 성공한 경우 콜백으로 호출됩니다.
- {ErrorCallback} errorCallback
연락처 갱신에 실패한 경우 콜백으로 호출됩니다.
- {Contact} contact
업데이트된 Contact 객체입니다.
- Throws:
매개변수의 형식이 올바르지 않은 경우 TYPE_MISMATCH_ERR 오류 코드와 함께 발생됩니다.
- Returns:
- {PendingOperation}
비동기 방식으로 호출된 함수를 취소할 수 있는 PendingOperation 객체입니다.
