Wednesday, November 19, 2014

A vCard parser library written in Java

A vCard parser library written in Java - Hallo sahabat Google Android Developer Tutorial, Pada Artikel yang anda baca kali ini dengan judul A vCard parser library written in Java, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : A vCard parser library written in Java
link : A vCard parser library written in Java

Baca juga


    A vCard parser library written in Java

    https://code.google.com/p/ez-vcard/wiki/TypeList

    https://code.google.com/p/ez-vcard/wiki/WhatIsAVCard

    try
    {

    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
    int rawContactInsertIndex = ops.size();

    ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
    .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null).withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null).build());

    VCard vcard = Ezvcard.parse(savedVCard).first();
    String name = null;
    try
    {
    if (vcard.getFormattedName() != null)
    {
    name = vcard.getFormattedName().getValue();
    }
    }
    catch (Exception e3)
    {
    e3.printStackTrace();
    }

    // Names
    if (name != null)
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name).build());
    }

    // Telephone number
    List<Telephone> telePhonevcard = vcard.getTelephoneNumbers();
    if (telePhonevcard != null)
    {
    for (Telephone telephone : telePhonevcard)
    {
    // ------------------------------------------------------ Home Numbers
    if (telephone.getTypes().toArray()[0].equals(TelephoneType.CELL))
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, telephone.getText())
    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE).build());
    }
    else if (telephone.getTypes().toArray()[0].equals(TelephoneType.WORK))
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, telephone.getText())
    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_WORK).build());
    }
    else if (telephone.getTypes().toArray()[0].equals(TelephoneType.HOME))
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, telephone.getText())
    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_HOME).build());
    }
    else if (telephone.getTypes().toArray()[0].equals(TelephoneType.PREF))
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, telephone.getText())
    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MAIN).build());
    }
    else if (telephone.getTypes().toArray()[0].equals(TelephoneType.VOICE))
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, telephone.getText())
    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_OTHER).build());
    }
    else
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, telephone.getText())
    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_OTHER).build());
    }

    }
    }
    // Photo
    try
    {
    byte[] data = null;
    List<Photo> photos = vcard.getPhotos();
    for (Photo photo : photos)
    {
    ImageType contentType = photo.getContentType(); // e.g. "image/jpeg"

    String url = photo.getUrl();
    if (url != null)
    {
    // property value is a URL
    continue;
    }

    data = photo.getData();
    if (data != null)
    {
    // INSERT imAGE
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Photo.PHOTO, data).build());
    continue;
    }
    }
    }
    catch (Exception e2)
    {
    e2.printStackTrace();
    }

    String street = null;
    String city = null;
    String state = null;
    String zipcode = null;
    String country = null;

    // Get Address
    for (Address adr : vcard.getAddresses())
    {
    street = adr.getStreetAddress();
    city = adr.getLocality();
    state = adr.getRegion();
    zipcode = adr.getPostalCode();
    country = adr.getCountry();
    if (adr.getTypes().size() > 0)
    {
    if (adr.getTypes().toArray()[0].equals(AddressType.HOME))
    {
    ops.add(ContentProviderOperation
    .newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, null)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
    ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.STREET, street)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.REGION, state)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, zipcode)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country)
    // .withValue(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK)
    .build());
    }
    else if (adr.getTypes().toArray()[0].equals(AddressType.WORK))
    {
    ops.add(ContentProviderOperation
    .newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, null)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
    ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.STREET, street)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.REGION, state)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, zipcode)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country)
    // .withValue(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK)
    .build());
    }
    else
    {
    ops.add(ContentProviderOperation
    .newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, null)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
    ContactsContract.CommonDataKinds.StructuredPostal.TYPE_OTHER)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.STREET, street)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.REGION, state)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, zipcode)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country)
    // .withValue(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK)
    .build());
    }

    }
    else
    {
    ops.add(ContentProviderOperation
    .newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, null)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.TYPE,
    ContactsContract.CommonDataKinds.StructuredPostal.TYPE_OTHER)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.STREET, street)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.REGION, state)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, zipcode)
    .withValue(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country)
    // .withValue(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK)
    .build());
    }

    }

    // Email address
    List<Email> emails = vcard.getEmails();
    for (Email email : emails)
    {
    if (email.getTypes().size() > 0)
    {
    if (email.getTypes().toArray()[0].equals(EmailType.HOME))
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Email.DATA, email.getValue())
    .withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_HOME).build());
    }
    else if (email.getTypes().toArray()[0].equals(EmailType.WORK))
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Email.DATA, email.getValue())
    .withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK).build());
    }
    else
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Email.DATA, email.getValue())
    .withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_CUSTOM).build());
    }
    }
    else
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Email.DATA, email.getValue())
    .withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_OTHER).build());
    }
    }
    // Address
    Organization organization = null;
    try
    {
    organization = vcard.getOrganization();
    // ------------------------------------------------------ Organization
    if (organization != null && organization.getPids() != null)
    {
    ops.add(ContentProviderOperation
    .newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Organization.COMPANY,
    organization.getPids().get(0) == null ? "" : organization.getPids().get(0))
    .withValue(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
    .withValue(ContactsContract.CommonDataKinds.Organization.TITLE,
    organization.getPids().get(1) == null ? "" : organization.getPids().get(1))
    .withValue(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
    .build());

    }
    }
    catch (Exception e1)
    {
    e1.printStackTrace();
    }
    // Website
    try
    {

    if (vcard.getUrls() != null)
    {
    List<Url> urls = vcard.getUrls();
    for (Url url : urls)
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Website.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Website.URL, url.getValue())
    .withValue(ContactsContract.CommonDataKinds.Website.TYPE, ContactsContract.CommonDataKinds.Website.TYPE_WORK).build());

    }

    }
    }
    catch (Exception e1)
    {
    e1.printStackTrace();
    }
    // Note
    try
    {

    if (vcard.getNotes() != null)
    {
    List<Note> notes = vcard.getNotes();
    for (Note note : notes)
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Note.NOTE, note.getValue()).build());
    }

    }
    }
    catch (Exception e1)
    {
    e1.printStackTrace();
    }
    // Asking the Contact provider to create a new contact
    try
    {
    context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    Toast.makeText(context.getApplicationContext(), "Contact saved successfully", Toast.LENGTH_SHORT).show();
    }
    catch (Exception e)
    {
    e.printStackTrace();
    // Toast.makeText(getApplicationContext(),"Exception: " + e.getMessage(), Toast.LENGTH_LONG).show();
    }

    // Instance Messanger RawProperty
    List<Impp> impps = vcard.getImpps();
    for (Impp impp : impps)
    {
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
    .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE)
    .withValue(ContactsContract.CommonDataKinds.Im.PROTOCOL, impp.toString())
    .withValue(ContactsContract.CommonDataKinds.Im.TYPE, ContactsContract.CommonDataKinds.Im.TYPE_WORK).build());
    }

    // Address of the contact
    ContentResolver cr = context.getContentResolver();
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
    cur.moveToLast();
    String contactID = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactID));
    intent.setData(uri);
    context.startActivity(intent);

    // Intent i = new Intent(Intent.ACTION_INSERT_OR_EDIT);
    // i.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
    // i.putExtra(ContactsContract.Intents.Insert.NAME, name);
    // context.startActivity(i);

    //context.getContentResolver().registerContentObserver(ContactsContract.Contacts.CONTENT_URI, true, new MyContentObserver());
    }
    catch (Exception e1)
    {
    e1.printStackTrace();
    }


    Demikianlah Artikel A vCard parser library written in Java

    Sekianlah artikel A vCard parser library written in Java kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

    Anda sekarang membaca artikel A vCard parser library written in Java dengan alamat link https://googleandroiddevelopertutorial.blogspot.com/2014/11/a-vcard-parser-library-written-in-java.html

    Artikel Terkait

    A vCard parser library written in Java
    4/ 5
    Oleh

    Berlangganan

    Suka dengan artikel di atas? Silakan berlangganan gratis via email