YouTube的GDATA API为Android [英] YouTube gdata API for Android
问题描述
我可以使用Java YouTube数据API的jar开发Android中的YouTube应用
我试图整合罐子。
但是,当我运行它显示异常
类高清未找到YouTubeService
有时,它显示了
类高清未找到MediaSource的
这是我测试的示例程序。我要打印的查询后得到的列表的大小。
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
服务=新YouTubeService(为myService);
urlString =http://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 ...更多
我不完全确定(你的问题可能会更清晰一点?),但我认为你遇到的问题是,你需要的Android的端口JavaMail的,可以在这里找到 。替换现有的mail.jar并发现有两个activation.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屋!