2011-07-18 28 views
1

我正在將youtube集成到我的android應用中。我正在使用gdata youtube庫。SAXNotRecognizedException當使用gdata api的youtube集成在android中?

`

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 Apache的mime4j-0.6.jar GDATA核-1.0.jar GDATA媒體-1.0.jar gdata- YouTube的-2.0.jar 谷歌,收集-1.0-rc2.jar httpmime-4.0.3.jar 的mail.jar 的servlet.jar

現在我得到一個異常SAXNotRecognizedException在

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

plz可以告訴我這裏發生了什麼問題。如何解決這個錯誤?或者任何其他方式將youtube集成到android應用程序中。

回答

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刪除原始SecureGenericXMLFactory

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核-1.0.jar與由步驟中創建的新的一(1) 。 (在Eclipse中)

(3)將SecureGenericXMLFactory的原始源代碼複製到您的Android項目中。 (4)在禁用必要特性的代碼行之前,在SecureSAXParserFactory的構造函數中添加一個無條件的'return'。

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