Skip to content

Commit 032bdea

Browse files
committed
added email and fullname assignment methods.
1 parent cde289d commit 032bdea

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed

contact-example/src/net/yuki24/ContactExample/ContactExampleActivity.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ public void onCreate(Bundle savedInstanceState) {
1919
// add a contact
2020
ContactBuilder cb = new ContactBuilder();
2121
cb.assignAccount();
22-
cb.assignDisplayName("Who am I");
22+
cb.assignFullName("Taro", "Yamada");
23+
cb.assignEmail("[email protected]");
2324
cb.assignPhoneNumber("819012345678");
2425

2526
try {

contact-example/src/net/yuki24/ContactExample/core/ContactBuilder.java

+39-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import android.provider.ContactsContract.Data;
1111
import android.provider.ContactsContract.RawContacts;
1212
import android.provider.ContactsContract.CommonDataKinds.Phone;
13+
import android.provider.ContactsContract.CommonDataKinds.Email;
1314
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
1415

1516
public class ContactBuilder {
@@ -41,15 +42,49 @@ public void assignPhoneNumber(String phoneNumber) {
4142
.withValue(Phone.NUMBER, phoneNumber)
4243
.build());
4344
}
44-
45+
46+
public void assignEmail(String email) {
47+
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
48+
.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
49+
.withValue(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE)
50+
.withValue(Email.DATA, email)
51+
.build());
52+
}
53+
4554
public void assignDisplayName(String displayName) {
4655
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
4756
.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
4857
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
4958
.withValue(StructuredName.DISPLAY_NAME, displayName)
5059
.build());
5160
}
52-
53-
//private static void assignEmail();
54-
//private static void assignFullName();
61+
62+
public void assignFullName(String firstName, String lastName) {
63+
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
64+
.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
65+
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
66+
.withValue(StructuredName.DISPLAY_NAME, buildFullname(firstName, lastName))
67+
.withValue(StructuredName.GIVEN_NAME, firstName)
68+
.withValue(StructuredName.FAMILY_NAME, lastName)
69+
.build());
70+
}
71+
72+
public void assignFullName(String firstName, String middleName, String lastName) {
73+
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
74+
.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
75+
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
76+
.withValue(StructuredName.DISPLAY_NAME, buildFullname(firstName, middleName, lastName))
77+
.withValue(StructuredName.GIVEN_NAME, firstName)
78+
.withValue(StructuredName.MIDDLE_NAME, middleName)
79+
.withValue(StructuredName.FAMILY_NAME, lastName)
80+
.build());
81+
}
82+
83+
private String buildFullname(String firstName, String lastName) {
84+
return (new StringBuilder()).append(firstName).append(" ").append(lastName).toString();
85+
}
86+
87+
private String buildFullname(String firstName, String middleName, String lastName) {
88+
return (new StringBuilder()).append(firstName).append(" ").append(middleName).append(" ").append(lastName).toString();
89+
}
5590
}

0 commit comments

Comments
 (0)