contact
Contents
contact 는 HSP 에서 기본으로 제공하는 API 로 연락처 정보를 추가하거나 불러오는 기능을 제공한다.
AndroidManifest.xml 내 uses-permission 을 추가하면 사용 가능 하다.
Example
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
contact 는 Android 에서 제공하는 Contact 기능의 Wrapper class 이며 주소록 추가, 삭제, 찾기 기능을 지원 한다.
add
add 는 주소록 정보를 추가하는 기능이다. 이때 사용자 이름, 이메일주소, 전화번호를 입력할 수 있다.
이때 주소록 데이터를 입력하기 위해서는 아래 AddContact 클래스를 이용하여 데이터를 입력해야 하며 각각의 정보는 하단의 표를 참고 한다.
AddContact Class
public static class AddContact implements Serializable {
private String firstName;
private String lastName;
private String email;
private String mobile;
private String work;
private String home;
}
private String firstName;
private String lastName;
private String email;
private String mobile;
private String work;
private String home;
}
AddContact
필드 | 설명 | M/O |
---|---|---|
firstName | 성 | M |
lastName | 이름 | M |
이메일 주소 | O | |
mobile | 핸드폰 번호 | O |
work | 이메일 주소 | O |
home | 집 전화번호 | O |
Example
val contact = DAPContact.AddContact().apply {
firstName = "길동"
lastName = "홍"
email = "test@test.net"
mobile = "01012341234"
}
DAPContact.add(this@MainActivity, contact, {
// TODO
}) {
// TODO
}
firstName = "길동"
lastName = "홍"
email = "test@test.net"
mobile = "01012341234"
}
DAPContact.add(this@MainActivity, contact, {
// TODO
}) {
// TODO
}
DAPContact.AddContact contact = new DAPContact.AddContact();
contact.setFirstName("길동");
contact.setLastName("홍");
contact.setEmail("test@test.net");
contact.setMobile("01012341234");
DAPContact.add(MainActivity.this, contact, result -> {
// TODO
}, e -> {
// TODO
});
contact.setFirstName("길동");
contact.setLastName("홍");
contact.setEmail("test@test.net");
contact.setMobile("01012341234");
DAPContact.add(MainActivity.this, contact, result -> {
// TODO
}, e -> {
// TODO
});
remove
remove 는 등록되어 있는 주소록을 삭제하는 기능이다. 삭제할 기준 값은 find 를 통해 얻은 id 값으로 삭제 할 수 있다.
options
필드 | 설명 | M/O |
---|---|---|
id | id 값은 find 로 얻은 개별 주소록에 Primary Key 값이다. | M |
Example
val id = "1" // find 로 얻은 contact 의 id 값
DAPContact.remove(this@MainActivity, id, {
// TODO
}) {
// TODO
}
DAPContact.remove(this@MainActivity, id, {
// TODO
}) {
// TODO
}
String id = "1"; // find 로 얻은 contact 의 id 값
DAPContact.remove(MainActivity.this, id, result -> {
// TODO
}, e -> {
// TODO
});
DAPContact.remove(MainActivity.this, id, result -> {
// TODO
}, e -> {
// TODO
});
find
find 는 등록되어 있는 주소록에 전화번호, 이름, 이메일 주소를 이용하여 원하는 주소록을 얻어 ContactData 형태로 반환 한다.
ContactData 클래스 정보와 각각의 변수 정보는 하단의 표를 참고 한다.
ContactData Class
public static class ContactData implements Serializable {
public String id;
public String displayName;
public final List<Map<String, String>> phoneNumbers;
public final List<String> email
}
public String id;
public String displayName;
public final List<Map<String, String>> phoneNumbers;
public final List<String> email
}
ContactData
필드 | 필드 | 필드 | 필드 | 설명 |
---|---|---|---|---|
ContactData | options에 해당되는 주소록 목록 배열 | |||
id | 검색된 개별 주소록의 Primary Key 값 | |||
displayName | 검색된 이름 | |||
phoneNumbers | [key] | [value] | 검색된 전화번호 목록 배열 각 목록은 전화번호의 Type과 Value로 구성 | |
검색된 이메일 목록 배열 | ||||
options
필드 | 설명 | M/O |
---|---|---|
fields | 검색 대상 Array 필드명들
| O |
filter | 검색어 | O |
Example
val fields = "phoneNumbers, displayName, email"
val searchWord = "홍"
DAPContact.find(this@MainActivity, fields, searchWord, {
// TODO
}) {
// TODO
}
val searchWord = "홍"
DAPContact.find(this@MainActivity, fields, searchWord, {
// TODO
}) {
// TODO
}
String fields = "phoneNumbers, displayName, email";
String searchWord = "홍";
DAPContact.find(MainActivity.this, fields, searchWord, result -> {
// TODO
}, e -> {
// TODO
});
String searchWord = "홍";
DAPContact.find(MainActivity.this, fields, searchWord, result -> {
// TODO
}, e -> {
// TODO
});
Error Code
Code | Cause | Comment |
---|---|---|
E10200 | 파라메터 값이 잘못되어 있을 경우 | |
E10201 | 전달된 액션 값이 알 수 없는 액션일 경우 | |
E10202 | 주소록 정보 추가시 성이 잘못되어 있을 경우 | |
E10203 | 주소록 정보 추가시 이름이 잘못되어 있을 경우 | |
E10204 | 주소록 삭제시 개별 주소록에 Primary Key 값이 잘못되어 있을 경우 | |
E10250 | 실행 중 오류가 발생 되었을 경우 | |
E10299 | 알 수 없는 오류가 발생 되었을 경우 | |