Создание VCard с использованием Cardme Java - PullRequest
3 голосов
/ 29 апреля 2011

Привет. Я пытаюсь создать файл vcard (.vcf) в Java с помощью API Cardme.Я могу сохранить файл .vcf, но в нем нет содержимого и он пуст.Пожалуйста, найдите мой код ниже,

private void generateVCard(Card card){
    HelperClass helper = new HelperClass();
    VCardImpl vcard = new VCardImpl();
    BeginFeature begin = new BeginFeatureImpl();
    vcard.setBegin(begin);
    vcard.addEmail(helper.formEmailFeature(card));
    vcard.addAddress(helper.formAddress(card));
    vcard.addPhoto(helper.formPhotoFeature(card));
    vcard.addTelephoneNumber(helper.formTelephoneFeature(card));
    vcard.setName(helper.formNameFeature(card));
    vcard.setFormattedName(helper.formattedName(card));
    saveToFile("vc.vcf",vcard);
}
/**
   *  This function saves a VCard to disk.
   */
  public void saveToFile( String fileName , VCard vcard) {
      Writer output = null;   
      File file = new File("fileName");   
      try {
        output = new BufferedWriter(new FileWriter(file));
         output.write(vcard.toString());  
          output.flush();  
          output.close(); 
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
  }

Благодарим за любую помощь в решении этой проблемы.

1 Ответ

3 голосов
/ 29 апреля 2011

Вам необходимо импортировать правильный класс вывода:

import info.ineighborhood.cardme.io.VCardWriter;

Или в последней версии библиотеки (v0.3.3) пакет выглядит так:

import net.sourceforge.cardme.io.VCardWriter; 

и затем используйте его:

/**
     *  This function saves a VCard to disk.
     */
    public static void saveToFile( String fileName , VCard vcard) {
    Writer output = null;   
    File file = new File("fileName");   
    try {
        output = new BufferedWriter(new FileWriter(file));
        VCardWriter writer = new VCardWriter();
        writer.setVCard(vcard);
        output.write(writer.buildVCardString());  
        output.flush();  
        output.close(); 
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
    }
...