2011-07-18 8 views
1

私はあなたのAndroidアプリにyoutubeを統合しています。私はgdata youtubeライブラリを使っています。アンドロイドでyoutubeを統合するためにgdata apiを使用しているときにSAXNotRecognizedExceptionが発生しましたか?

`

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ファイルのように下に、 のapache-mime4j-0.6.jar GDATA-コア-1.0.jar GDATA-メディア-1.0.jar gdata- activation.jarのユーチューブ-2.0.jar グーグルコレクト-1.0-rc2.jar httpmime-4.0.3.jar のmail.jar servlet.jarは

今、私は例外例外:SAXNotRecognizedExceptionを取得していますat

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

plzここで間違っていることを教えてください。このエラーを修正するには?または、AndroidアプリにYouTubeを統合する他の方法。

答えて

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

をSecureGener gdata-coreのicXMLFactoryは一部の機能を意図的に無効にしますが、その一部はYouTubeからデータを取得するために必要です。回避策の基本的な考え方は次のとおりです。

(1)GDATAコア-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 

を元SecureGenericXMLFactoryを取り外し(2)(1)ステップによって作成された新しいものとオリジナルGDATAコア-1.0.jarを交換。 (Eclipse内)

(3)SecureGenericXMLFactoryの元のソースコードをAndroidプロジェクトにコピーします。

(4)必要な機能を無効にするコード行の前に、SecureSAXParserFactoryのコンストラクタで無条件の「return」を追加します。

// "if (true)" was added to avoid a compilation error in Eclipse. 
if (true) 
{ 
    return; 
} 
関連する問題