What would be the best way to acces the google calendar on android right now?
I found the following ways:
google-api-java-client - It's only an alpha. Authenticating, getting calendar list works, but updating calendar crashes in sample. +no documentation and bad sample codes anyway.
hackity hack reverse engeneering - Sounds bad, also, (propably) not futureproof.
Google data api - As far as I know, it does not support/work on android.
Are there any alternatives that I have missed? Are there any working examples out there?
Have you looked at the Data API Developer's Guide: Java? You can also work directly with HTTP request/response, if things you want/need aren't supported in the Java API.
I haven't personally used the Java API, but I have worked directly with HTTP, and found it to be pretty straightforward.
I recently used SignPost for this. It handles OAuth, and you can use it to sign your HTTP requests to get or post data to your calendars. I had trouble getting Google's Java API to work with Android since I think it relies on Java APIs that are not necessarily present in Android.
To make your requests, you can refer to this page: http://code.google.com/apis/calendar/data/2.0/developers_guide_protocol.html
I think that this is a well known issue, but not so well clear yet. Looking at all the questions and answer provided it seems that you have two options:
Use the hacks you were refering in your answer (not suggested at all, because as you said there is no guarantee that the same trick will work in future). Some updates have been made in order to make it works even under froyo, see here.
Use this http://code.google.com/p/google-api-java-client/. Quoting from the project description on the website
`
Include these(Calendar-2.1,client 1.0,core 1.0) jar files from gdata api and include two external jar files in our application.. Those two files (guava-11.0.2 and jsr305 ) are available in deps folder of gdata
and this code for retrive events from calendar
Declare globally your calendar id and password
you can reach to me on facebook by using this address on facebook.com/rajivbawa22 for more tutorials
but make sure you have account in gmail as well as in google calendar
try {
see result in logs and give yours feedbacks