2009-11-25 2 views
1

Я хочу получить XML-формат атома таблицы GoogleDocs, используя метод [generateAtom (.., ..)] [1] класса BaseEntry, который наследует SpreadsheetEntry. Но я не понимаю второй параметр в методе ExtensionProfile. Что это такое, и будет ли этот метод достаточно, если я просто хочу получить формат XML в атоме?Что такое профиль расширения GDATA?

XmlWriter x = new XmlWriter(); 
spreadSheetEntry.generateAtom(x,new ExtensionProfile()); 

[1]: http://code.google.com/apis/gdata/javadoc/com/google/gdata/data/BaseEntry.html#generateAtom(com.google.gdata.util.common.xml.XmlWriter, com.google.gdata.data.ExtensionProfile)

ответ

3

От JavaDoc for ExtensionProfile:

Профиль представляет собой набор допустимых расширений для каждого типа вместе с Дополнительные свойства.

Обычно, если у вас есть услуга, вы можете запросить его для профиля расширения с помощью Service.getExtensionProfile().

0

Разрабатывая Jon Skeet's answer, вам нужно создать экземпляр службы, как это:

String developer_key = "mySecretDeveloperKey"; 
String client_id = "myApplicationsClientId"; 
YouTubeService service = new YouTubeService(client_id, developer_key); 

Тогда можно записать в файл, используя профиль расширения вашей службы:

static void write_video_entry(VideoEntry video_entry) { 
    try { 
     String cache_file_path = Layout.get_cache_file_path(video_entry); 
     File cache_file = new File(cache_file_path); 
     Writer writer = new FileWriter(cache_file); 
     XmlWriter xml_writer = new XmlWriter(writer); 
     ExtensionProfile extension_profile = service.getExtensionProfile(); 
     video_entry.generateAtom(xml_writer, extension_profile); 
     xml_writer.close(); 
     writer.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

Аналогично, вы можете прочитать файл с использованием профиля расширения ваших услуг:

static VideoFeed read_video_feed(File cache_file_file) { 
    VideoFeed video_feed = new VideoFeed(); 
    try { 
     InputStream input_stream = new FileInputStream(cache_file_file); 
     ExtensionProfile extension_profile = service.getExtensionProfile(); 
     try { 
      video_feed.parseAtom(extension_profile, input_stream); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
     input_stream.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return video_feed; 
}