SAXNotRecognizedException при использовании gdata API для интеграции YouTube в Android?

Я интегрирую YouTube в свое приложение для Android. Я использую библиотеку gdata youtube для того же.

`

    YouTubeManager ym = new YouTubeManager(clientID);

    List<YoutubeVideo> videos;
    try {
        videos = ym.retrieveVideos(textQuery, maxResults, filter, timeout);
        for (YoutubeVideo youtubeVideo : videos) {
            System.out.println(youtubeVideo.getWebPlayerUrl());
            System.out.println("Thumbnails");
            for (String thumbnail : youtubeVideo.getThumbnails()) {
                System.out.println("\t" + thumbnail);
            }
            System.out.println(youtubeVideo.getEmbeddedWebPlayerUrl());
            System.out.println("************************************");
        }

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   `  

Я импортировал jar-файлы, как показано ниже: activation.jar apache-mime4j-0.6.jar gdata-core-1.0.jar gdata-media-1.0.jar gdata-youtube-2.0.jar google-collect-1.0-rc2.jar httpmime-4.0 .3.jar mail.jar сервлет.jar

Теперь я получаю исключение SAXNotRecognizedException в

видео = ym.retrieveVideos (textQuery, maxResults, фильтр, время ожидания);

Пожалуйста, может кто-нибудь сказать мне, что здесь происходит неправильно. Как исправить эту ошибку? Или любой другой способ интегрировать YouTube в приложение для Android.


person Panache    schedule 18.07.2011    source источник


Ответы (1)


Основная причина описана как Проблема 9493.

http://code.google.com/p/android/issues/detail?id=9493

И обходной путь для этого можно найти здесь:

http://darutk-oboegaki.blogspot.com/2011/11/solution-for-gdata-java-clients.html

SecureGenericXMLFactory в gdata-core намеренно отключает некоторые функции, но некоторые из них нужны для получения данных с YouTube. Основная идея обхода заключается в следующем.

(1) Удалите оригинальный SecureGenericXMLFactory из gdata-core-1.0.jar.

cd gdata-src.java-1.46.0/gdata/java/lib
mkdir gdata-core-1.0-no-SecureGenericXMLFactory
cd gdata-core-1.0-no-SecureGenericXMLFactory
jar xf ../gdata-core-1.0.jar
rm -rf com/google/gdata/util/common/xml/parsing
jar cfm ../gdata-core-1.0-no-SecureGenericXMLFactory.jar META-INF/MANIFEST.MF com

(2) Замените исходный gdata-core-1.0.jar новым, созданным на шаге (1). (в затмении)

(3) Скопируйте исходный код SecureGenericXMLFactory в свой проект Android.

(4) Добавьте безусловный «возврат» в конструкторе SecureSAXParserFactory перед строками кода, отключающими необходимые функции.

// "if (true)" was added to avoid a compilation error in Eclipse.
if (true)
{
    return;
}
person darutk    schedule 29.11.2011