我一直在嘗試幾天來將Google日曆集成到我的Android應用程序中,但收效甚微。我已經實現了GData API,並使用他們爲測試目的給出的代碼,但不斷收到SAXParser錯誤,如下所示。我需要做的就是在用戶的日曆中創建新事件。無法將Google日曆API集成到Android應用程序中
01-23 19:10:40.420: WARN/XmlParser(28605): javax.xml.parsers.ParserConfigurationException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
01-23 19:10:40.420: WARN/XmlParser(28605): javax.xml.parsers.ParserConfigurationException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
01-23 19:10:40.420: WARN/XmlParser(28605): at org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:84)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.util.XmlParser.parse(XmlParser.java:682)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.data.BaseEntry.parseAtom(BaseEntry.java:1015)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:59)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:39)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.java:100)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java:52)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:66)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:34)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.client.Service.parseResponseData(Service.java:2165)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.client.Service.parseResponseData(Service.java:2098)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.client.Service.insert(Service.java:1410)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.google.gdata.client.GoogleService.insert(GoogleService.java:606)
01-23 19:10:40.420: WARN/XmlParser(28605): at <packagename>.CalendarDialog.addToCalendar(CalendarDialog.java:160)
01-23 19:10:40.420: WARN/XmlParser(28605): at <packagename>.CalendarDialog.onClick(CalendarDialog.java:125)
01-23 19:10:40.420: WARN/XmlParser(28605): at android.view.View.performClick(View.java:2421)
01-23 19:10:40.420: WARN/XmlParser(28605): at android.view.View$PerformClick.run(View.java:8869)
01-23 19:10:40.420: WARN/XmlParser(28605): at android.os.Handler.handleCallback(Handler.java:587)
01-23 19:10:40.420: WARN/XmlParser(28605): at android.os.Handler.dispatchMessage(Handler.java:92)
01-23 19:10:40.420: WARN/XmlParser(28605): at android.os.Looper.loop(Looper.java:143)
01-23 19:10:40.420: WARN/XmlParser(28605): at android.app.ActivityThread.main(ActivityThread.java:5097)
01-23 19:10:40.420: WARN/XmlParser(28605): at java.lang.reflect.Method.invokeNative(Native Method)
01-23 19:10:40.420: WARN/XmlParser(28605): at java.lang.reflect.Method.invoke(Method.java:521)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-23 19:10:40.420: WARN/XmlParser(28605): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-23 19:10:40.420: WARN/XmlParser(28605): at dalvik.system.NativeStart.main(Native Method)
01-23 19:10:40.420: WARN/System.err(28605): com.google.gdata.util.ParseException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.util.XmlParser.parse(XmlParser.java:708)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.util.XmlParser.parse(XmlParser.java:576)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.data.BaseEntry.parseAtom(BaseEntry.java:1015)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:59)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.wireformats.input.AtomDataParser.parse(AtomDataParser.java:39)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.wireformats.input.CharacterParser.parse(CharacterParser.java:100)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.wireformats.input.XmlInputParser.parse(XmlInputParser.java:52)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:66)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.wireformats.input.AtomDualParser.parse(AtomDualParser.java:34)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.client.Service.parseResponseData(Service.java:2165)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.client.Service.parseResponseData(Service.java:2098)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.client.Service.insert(Service.java:1410)
01-23 19:10:40.420: WARN/System.err(28605): at com.google.gdata.client.GoogleService.insert(GoogleService.java:606)
01-23 19:10:40.430: WARN/System.err(28605): at <packagename>.CalendarDialog.addToCalendar(CalendarDialog.java:160)
01-23 19:10:40.430: WARN/System.err(28605): at <packagename>.CalendarDialog.onClick(CalendarDialog.java:125)
01-23 19:10:40.430: WARN/System.err(28605): at android.view.View.performClick(View.java:2421)
01-23 19:10:40.430: WARN/System.err(28605): at android.view.View$PerformClick.run(View.java:8869)
01-23 19:10:40.430: WARN/System.err(28605): at android.os.Handler.handleCallback(Handler.java:587)
01-23 19:10:40.430: WARN/System.err(28605): at android.os.Handler.dispatchMessage(Handler.java:92)
01-23 19:10:40.430: INFO/dalvikvm(28605): Jit: resizing JitTable from 4096 to 8192
01-23 19:10:40.440: WARN/System.err(28605): at android.os.Looper.loop(Looper.java:143)
01-23 19:10:40.440: WARN/System.err(28605): at android.app.ActivityThread.main(ActivityThread.java:5097)
01-23 19:10:40.440: WARN/System.err(28605): at java.lang.reflect.Method.invokeNative(Native Method)
01-23 19:10:40.440: WARN/System.err(28605): at java.lang.reflect.Method.invoke(Method.java:521)
01-23 19:10:40.440: WARN/System.err(28605): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-23 19:10:40.440: WARN/System.err(28605): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-23 19:10:40.440: WARN/System.err(28605): at dalvik.system.NativeStart.main(Native Method)
01-23 19:10:40.440: WARN/System.err(28605): Caused by: javax.xml.parsers.ParserConfigurationException: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/features/external-parameter-entities
01-23 19:10:40.450: WARN/System.err(28605): at org.apache.harmony.xml.parsers.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:84)
01-23 19:10:40.450: WARN/System.err(28605): at com.google.gdata.util.XmlParser.parse(XmlParser.java:682)
01-23 19:10:40.450: WARN/System.err(28605): ... 25 more
我用於添加事件的代碼是:
void addToCalendar() throws IOException, ServiceException
{
CalendarService myService = new CalendarService("exampleCo-exampleApp-1");
myService.setUserCredentials("<username>@gmail.com", "<password>");
URL postUrl =
new URL("https://www.google.com/calendar/feeds/<username>@gmail.com/private/full");
CalendarEventEntry myEntry = new CalendarEventEntry();
myEntry.setTitle(new PlainTextConstruct("Tennis with Beth"));
myEntry.setContent(new PlainTextConstruct("Meet for a quick lesson."));
DateTime startTime = DateTime.parseDateTime("2011-01-26T15:00:00+05:30");
DateTime endTime = DateTime.parseDateTime("2011-01-26T15:12:00+05:30");
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEntry.addTime(eventTimes);
// Send the request and receive the response:
CalendarEventEntry insertedEntry = myService.insert(postUrl, myEntry);
}
任何想法是什麼引起的問題?另外,如果任何人有日曆API運行,他們可以提供一些幫助嗎?就像我說的,我需要的只是添加事件(單個和重複)
謝謝!
雖然我讀過的這一點,我覺得更奇怪比任何事情都好,GData現在正在爲我的應用程序(至少是日曆位)完美工作。正如你在日誌中看到的那樣,這只是我收到的警告。該功能本身工作順利,只有一個較小的UI錯誤意味着我看不到最終產品。 –