0

How can I get the list of events of a Calendar like this one https://twit.tv/schedule for a certain month? Do I need to parse the HTML?

Edit: gooogle calendar specific link:https://calendar.google.com/calendar/embed?src=mg877fp19824mj30g497frm74o@group.calendar.google.com&ctz=GMT

dfvt
  • 87
  • 2
  • 12
  • Yes, you probably do need to parse the HTML. This does not appear to be a google calendar, so you won't be able to use their api. – Matt Cremeens Sep 01 '16 at 13:51
  • where's the code? can you explain what did you try already? – borracciaBlu Sep 01 '16 at 13:58
  • Please Check this link, This link may help you. [stackoverflow.com/questions/13232717/how-to-get-all-the-events-from-calendar](http://stackoverflow.com/questions/13232717/how-to-get-all-the-events-from-calendar) – Rohit Sharma Sep 01 '16 at 12:31

3 Answers3

1

AFAIK as you are trying to use it in Android and want to get the list of Calendar events you maybe should use the Calendar Provider

https://developer.android.com/guide/topics/providers/calendar-provider.html

There's also a tutorial for Calendar API learning available

https://developers.google.com/google-apps/calendar/quickstart/android

0

This post is a little bit old, but here is another easy solution for getting data related to Calendar content provider in Android:

Use this lib: https://github.com/EverythingMe/easy-content-providers

Get all calendars:

CalendarProvider calendarProvider = new CalendarProvider(context);
List<Calendar> calendars = calendarProvider.getCalendars().getList();

Get all events :

List<Event> calendars = calendarProvider.getEvents(calendar.id).getList();
Chirag Arora
  • 816
  • 8
  • 20
0

From the calendar provider doc, the following code will print the events from Sep 23, 2011 to Oct 24, 2011

private static final String DEBUG_TAG = "MyActivity";
public static final String[] INSTANCE_PROJECTION = new String[] {
    Instances.EVENT_ID,      // 0
    Instances.BEGIN,         // 1
    Instances.TITLE          // 2
  };

// The indices for the projection array above.
private static final int PROJECTION_ID_INDEX = 0;
private static final int PROJECTION_BEGIN_INDEX = 1;
private static final int PROJECTION_TITLE_INDEX = 2;

// Specify the date range you want to search for recurring
// event instances
Calendar beginTime = Calendar.getInstance();
beginTime.set(2011, 9, 23, 8, 0);
long startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2011, 10, 24, 8, 0);
long endMillis = endTime.getTimeInMillis();

Cursor cur = null;
ContentResolver cr = getContentResolver();

// The ID of the recurring event whose instances you are searching
// for in the Instances table
String selection = Instances.EVENT_ID + " = ?";
String[] selectionArgs = new String[] {"207"};

// Construct the query with the desired date range.
Uri.Builder builder = Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(builder, startMillis);
ContentUris.appendId(builder, endMillis);

// Submit the query
cur =  cr.query(builder.build(),
    INSTANCE_PROJECTION,
    null,
    null,
    null);

while (cur.moveToNext()) {
    String title = null;
    long eventID = 0;
    long beginVal = 0;

    // Get the field values
    eventID = cur.getLong(PROJECTION_ID_INDEX);
    beginVal = cur.getLong(PROJECTION_BEGIN_INDEX);
    title = cur.getString(PROJECTION_TITLE_INDEX);

    // Do something with the values.
    Log.i(DEBUG_TAG, "Event:  " + title);
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(beginVal);
    DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
    Log.i(DEBUG_TAG, "Date: " + formatter.format(calendar.getTime()));
    }
 }

Or you can also use the Calendar API.

s-hunter
  • 24,172
  • 16
  • 88
  • 130