YouTube的GDATA API为Android [英] YouTube gdata API for Android

查看:193
本文介绍了YouTube的GDATA API为Android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以使用Java YouTube数据API的jar开发Android中的YouTube应用

我试图整合罐子。
但是,当我运行它显示异常

 类高清未找到YouTubeService

有时,它显示了

 类高清未找到MediaSource的

这是我测试的示例程序。我要打印的查询后得到的列表的大小。

 公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);
    服务=新YouTubeService(为myService);
    urlString =htt​​p://gdata.youtube.com/feeds/api/standardfeeds/top_rated;
    尝试{
        videoFeed = service.getFeed(新URL(urlString),VideoFeed.class);
        videoEntries = videoFeed.getEntries();
        的System.out.println(列出大小+ videoEntries.size());
    }赶上(MalformedURLException的E){        e.printStackTrace();
    }赶上(IOException异常五){        e.printStackTrace();
    }赶上(ServiceException E){        e.printStackTrace();
    }}

现在它显示了以下错误。

  09-03 16:27:38.844:WARN / XmlParser的(387):javax.xml.parsers.ParserConfigurationException:org.xml.sax.SAXNotRecognizedException:HTTP:// XML。组织/萨克斯/功能/外部参数实体
09-03 16:27:38.844:WARN / XmlParser的(387):javax.xml.parsers.ParserConfigurationException:org.xml.sax.SAXNotRecognizedException:http://xml.org/sax/features/external-parameter-entities
09-03 16:27:38.844:WARN / XmlParser的(387):在org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:84)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.util.XmlParser.parse(XmlParser.java:682)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.data.BaseFeed.parseAtom(BaseFeed.java:867)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:68)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:39)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.java:100)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java:52)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:66)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:34)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.client.Service.parseResponseData(Service.java:2165)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.client.Service.parseResponseData(Service.java:2098)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.client.Service.getFeed(Service.java:1136)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.client.Service.getFeed(Service.java:998)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.client.GoogleService.getFeed(GoogleService.java:631)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.google.gdata.client.Service.getFeed(Service.java:1017)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.mcet.youtube.YoutubeActivity.onCreate(YoutubeActivity.java:38)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.os.Handler.dispatchMessage(Handler.java:99)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.os.Looper.loop(Looper.java:123)
09-03 16:27:38.844:WARN / XmlParser的(387):在android.app.ActivityThread.main(ActivityThread.java:4627)
09-03 16:27:38.844:WARN / XmlParser的(387):在java.lang.reflect.Method.invokeNative(本机方法)
09-03 16:27:38.844:WARN / XmlParser的(387):在java.lang.reflect.Method.invoke(Method.java:521)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
09-03 16:27:38.844:WARN / XmlParser的(387):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-03 16:27:38.844:WARN / XmlParser的(387):在dalvik.system.NativeStart.main(本机方法)
09-03 16:27:38.997:WARN / System.err的(387):com.google.gdata.util.ParseException:org.xml.sax.SAXNotRecognizedException:http://xml.org/sax/features/external-参数实体
09-03 16:27:39.005:WARN / System.err的(387):在com.google.gdata.util.XmlParser.parse(XmlParser.java:708)
09-03 16:27:39.005:WARN / System.err的(387):在com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
09-03 16:27:39.005:WARN / System.err的(387):在com.google.gdata.data.BaseFeed.parseAtom(BaseFeed.java:867)
09-03 16:27:39.005:WARN / System.err的(387):在com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:68)
09-03 16:27:39.014:WARN / System.err的(387):在com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:39)
09-03 16:27:39.014:WARN / System.err的(387):在com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.java:100)
09-03 16:27:39.014:WARN / System.err的(387):在com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java:52)
09-03 16:27:39.025:WARN / System.err的(387):在com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:66)
09-03 16:27:39.025:WARN / System.err的(387):在com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:34)
09-03 16:27:39.025:WARN / System.err的(387):在com.google.gdata.client.Service.parseResponseData(Service.java:2165)
09-03 16:27:39.035:WARN / System.err的(387):在com.google.gdata.client.Service.parseResponseData(Service.java:2098)
09-03 16:27:39.035:WARN / System.err的(387):在com.google.gdata.client.Service.getFeed(Service.java:1136)
09-03 16:27:39.035:WARN / System.err的(387):在com.google.gdata.client.Service.getFeed(Service.java:998)
09-03 16:27:39.044:WARN / System.err的(387):在com.google.gdata.client.GoogleService.getFeed(GoogleService.java:631)
09-03 16:27:39.044:WARN / System.err的(387):在com.google.gdata.client.Service.getFeed(Service.java:1017)
09-03 16:27:39.044:WARN / System.err的(387):在com.mcet.youtube.YoutubeActivity.onCreate(YoutubeActivity.java:38)
09-03 16:27:39.054:WARN / System.err的(387):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-03 16:27:39.054:WARN / System.err的(387):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-03 16:27:39.054:WARN / System.err的(387):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-03 16:27:39.064:WARN / System.err的(387):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
09-03 16:27:39.064:WARN / System.err的(387):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
09-03 16:27:39.064:WARN / System.err的(387):在android.os.Handler.dispatchMessage(Handler.java:99)
09-03 16:27:39.074:WARN / System.err的(387):在android.os.Looper.loop(Looper.java:123)
09-03 16:27:39.074:WARN / System.err的(387):在android.app.ActivityThread.main(ActivityThread.java:4627)
09-03 16:27:39.074:WARN / System.err的(387):在java.lang.reflect.Method.invokeNative(本机方法)
09-03 16:27:39.084:WARN / System.err的(387):在java.lang.reflect.Method.invoke(Method.java:521)
09-03 16:27:39.084:WARN / System.err的(387):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
09-03 16:27:39.084:WARN / System.err的(387):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-03 16:27:39.084:WARN / System.err的(387):在dalvik.system.NativeStart.main(本机方法)
09-03 16:27:39.095:WARN / System.err的(387):javax.xml.parsers.ParserConfigurationException:产生的原因org.xml.sax.SAXNotRecognizedException:http://xml.org/sax/features/external -parameter实体
09-03 16:27:39.095:WARN / System.err的(387):在org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:84)
09-03 16:27:39.095:WARN / System.err的(387):在com.google.gdata.util.XmlParser.parse(XmlParser.java:682)
09-03 16:27:39.095:WARN / System.err的(387):28 ...更多


解决方案

我不完全确定(你的问题可能会更清晰一点?),但我认为你遇到的问题是,你需要的Andr​​oid的端口JavaMail的,可以在这里找到 。替换现有的mail.jar并发现有两个activati​​on.jar和添加additionnal.jar也。这样应该可以解决你的问题。

如果没有,请添加您的LogCat中输出,多一点细节有关错误,我会尽力帮助进一步。

Can I use Java YouTube data API jar for developing YouTube Application in Android

I tried integrating the jar. But when I run it is showing Exception

class def not found for YouTubeService

Sometimes it shows

class def not found for MediaSource

This is the sample program that I tested. I want to print the size of the list obtained after the query.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    service = new YouTubeService("myService");
    urlString = "http://gdata.youtube.com/feeds/api/standardfeeds/top_rated";
    try {
        videoFeed = service.getFeed(new URL(urlString), VideoFeed.class);
        videoEntries = videoFeed.getEntries();
        System.out.println("List Size"+videoEntries.size());


    } catch (MalformedURLException e) {

        e.printStackTrace();
    } catch (IOException e) {

        e.printStackTrace();
    } catch (ServiceException e) {

        e.printStackTrace();
    }



}

Now it is showing the following error.

09-03 16:27:38.844: WARN/XmlParser(387): javax.xml.parsers.ParserConfigurationException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
09-03 16:27:38.844: WARN/XmlParser(387): javax.xml.parsers.ParserConfigurationException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
09-03 16:27:38.844: WARN/XmlParser(387):     at org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:84)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.util.XmlParser.parse(XmlParser.java:682)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.data.BaseFeed.parseAtom(BaseFeed.java:867)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:68)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:39)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.java:100)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java:52)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:66)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:34)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.client.Service.parseResponseData(Service.java:2165)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.client.Service.parseResponseData(Service.java:2098)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.client.Service.getFeed(Service.java:1136)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.client.Service.getFeed(Service.java:998)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.client.GoogleService.getFeed(GoogleService.java:631)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.google.gdata.client.Service.getFeed(Service.java:1017)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.mcet.youtube.YoutubeActivity.onCreate(YoutubeActivity.java:38)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.os.Looper.loop(Looper.java:123)
09-03 16:27:38.844: WARN/XmlParser(387):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-03 16:27:38.844: WARN/XmlParser(387):     at java.lang.reflect.Method.invokeNative(Native Method)
09-03 16:27:38.844: WARN/XmlParser(387):     at java.lang.reflect.Method.invoke(Method.java:521)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-03 16:27:38.844: WARN/XmlParser(387):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-03 16:27:38.844: WARN/XmlParser(387):     at dalvik.system.NativeStart.main(Native Method)
09-03 16:27:38.997: WARN/System.err(387): com.google.gdata.util.ParseException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
09-03 16:27:39.005: WARN/System.err(387):     at com.google.gdata.util.XmlParser.parse(XmlParser.java:708)
09-03 16:27:39.005: WARN/System.err(387):     at com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
09-03 16:27:39.005: WARN/System.err(387):     at com.google.gdata.data.BaseFeed.parseAtom(BaseFeed.java:867)
09-03 16:27:39.005: WARN/System.err(387):     at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:68)
09-03 16:27:39.014: WARN/System.err(387):     at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:39)
09-03 16:27:39.014: WARN/System.err(387):     at com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.java:100)
09-03 16:27:39.014: WARN/System.err(387):     at com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java:52)
09-03 16:27:39.025: WARN/System.err(387):     at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:66)
09-03 16:27:39.025: WARN/System.err(387):     at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:34)
09-03 16:27:39.025: WARN/System.err(387):     at com.google.gdata.client.Service.parseResponseData(Service.java:2165)
09-03 16:27:39.035: WARN/System.err(387):     at com.google.gdata.client.Service.parseResponseData(Service.java:2098)
09-03 16:27:39.035: WARN/System.err(387):     at com.google.gdata.client.Service.getFeed(Service.java:1136)
09-03 16:27:39.035: WARN/System.err(387):     at com.google.gdata.client.Service.getFeed(Service.java:998)
09-03 16:27:39.044: WARN/System.err(387):     at com.google.gdata.client.GoogleService.getFeed(GoogleService.java:631)
09-03 16:27:39.044: WARN/System.err(387):     at com.google.gdata.client.Service.getFeed(Service.java:1017)
09-03 16:27:39.044: WARN/System.err(387):     at com.mcet.youtube.YoutubeActivity.onCreate(YoutubeActivity.java:38)
09-03 16:27:39.054: WARN/System.err(387):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-03 16:27:39.054: WARN/System.err(387):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-03 16:27:39.054: WARN/System.err(387):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-03 16:27:39.064: WARN/System.err(387):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-03 16:27:39.064: WARN/System.err(387):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-03 16:27:39.064: WARN/System.err(387):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-03 16:27:39.074: WARN/System.err(387):     at android.os.Looper.loop(Looper.java:123)
09-03 16:27:39.074: WARN/System.err(387):     at android.app.ActivityThread.main(ActivityThread.java:4627)
09-03 16:27:39.074: WARN/System.err(387):     at java.lang.reflect.Method.invokeNative(Native Method)
09-03 16:27:39.084: WARN/System.err(387):     at java.lang.reflect.Method.invoke(Method.java:521)
09-03 16:27:39.084: WARN/System.err(387):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-03 16:27:39.084: WARN/System.err(387):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-03 16:27:39.084: WARN/System.err(387):     at dalvik.system.NativeStart.main(Native Method)
09-03 16:27:39.095: WARN/System.err(387): Caused by: javax.xml.parsers.ParserConfigurationException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
09-03 16:27:39.095: WARN/System.err(387):     at org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:84)
09-03 16:27:39.095: WARN/System.err(387):     at com.google.gdata.util.XmlParser.parse(XmlParser.java:682)
09-03 16:27:39.095: WARN/System.err(387):     ... 28 more

解决方案

I'm not entirely sure (your question could be a little clearer?) but I think the problem you're having is that you need to Android port of JavaMail, which can be found here. Replace your existing mail.jar and activation.jar with the two found there, and add the additionnal.jar also. This should hopefully sort out your problem.

If not, please add your LogCat output and a bit more detail about the error and I'll try to help further.

这篇关于YouTube的GDATA API为Android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆