SAXNotRecognizedException при использовании API gdata для интеграции YouTube в Android? - PullRequest
1 голос
/ 18 июля 2011

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

`

    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();
    }   `  

Я импортировал банку как под, activation.jar апач-mime4j-0.6.jar GData-ядро-1.0.jar GData-медиа-1.0.jar GData-YouTube-2.0.jar Google-сбор-1.0-rc2.jar httpmime-4.0.3.jar mail.jar servlet.jar

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

videos = ym.retrieveVideos (textQuery, maxResults, filter, timeout);

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

1 Ответ

1 голос
/ 29 ноября 2011

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

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

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

http://darutk -oboegaki.blogspot.com / 2011/11 / раствор-для-GData-ява-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;
}
...