2011-01-23 4 views
2

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가 실행되고 있다면 도움을 줄 수 있습니까? 내가 말했듯이, 필요한 것은 이벤트를 추가하는 것입니다 (단일 및 반복 모두)

감사!

답변

2

의 GData API는, 안드로이드에서 작동 여기에서, 구글 API 클라이언트를 사용하지 않습니다 : http://code.google.com/p/google-api-java-client/wiki/Android을 대신. 참조

: 당신은 왜 당신이 GoogleApiJavaClient 사용할 수 있습니다 Best option for using the GData APIs on Android?

+0

, 나는 더 이상 찾을 무엇보다도 GData가 이제 내 앱 (적어도 캘린더 비트)에 완벽하게 작동한다는 것입니다. 로그에서 볼 수 있듯이, 내가받는 경고 일뿐입니다. 기능 자체는 원활하게 작동하며 사소한 UI 오류 만 발생해도 최종 제품을 볼 수 없었습니다. –

관련 문제