{"id":13848571,"url":"https://github.com/tyczj/ExtendedCalendarView","last_synced_at":"2025-07-12T13:31:33.118Z","repository":{"id":13104924,"uuid":"15786452","full_name":"tyczj/ExtendedCalendarView","owner":"tyczj","description":null,"archived":false,"fork":false,"pushed_at":"2017-01-04T09:15:39.000Z","size":1422,"stargazers_count":507,"open_issues_count":39,"forks_count":183,"subscribers_count":40,"default_branch":"master","last_synced_at":"2024-08-05T19:35:48.233Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tyczj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-10T02:43:51.000Z","updated_at":"2024-04-02T02:42:37.000Z","dependencies_parsed_at":"2022-07-12T15:08:27.242Z","dependency_job_id":null,"html_url":"https://github.com/tyczj/ExtendedCalendarView","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyczj%2FExtendedCalendarView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyczj%2FExtendedCalendarView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyczj%2FExtendedCalendarView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyczj%2FExtendedCalendarView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tyczj","download_url":"https://codeload.github.com/tyczj/ExtendedCalendarView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225825266,"owners_count":17529905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T19:00:52.627Z","updated_at":"2024-11-22T00:30:41.756Z","avatar_url":"https://github.com/tyczj.png","language":"Java","funding_links":[],"categories":["Java","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"ExtendedCalendarView\n====================\n\n![ScreenShot](https://raw.githubusercontent.com/tyczj/ExtendedCalendarView/master/ExtendedCalendarView/Screenshot_2014-04-04-18-11-16.png)\n\nCurrently there is no easy way of showing a calendar with the ability to display events on days, ExtendedCalendarView is meant to solve that problem.\n\nUsage\n=====\n\nsimply declare it in your layout\n\n    \u003cRelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n      android:layout_width=\"match_parent\"\n      android:layout_height=\"match_parent\" \u003e\n    \n    \u003ccom.tyczj.extendedcalendarview.ExtendedCalendarView \n        android:id=\"@+id/calendar\"\n        android:layout_height=\"match_parent\"\n        android:layout_width=\"match_parent\"/\u003e\n    \n    \u003c/RelativeLayout\u003e\n    \nget the view like you normally would\n\n    ExtendedCalendarView calendar = (ExtendedCalendarView)findViewById(R.id.calendar);\n\nCalendar Content Provider\n=========================\n\nAll events are stored in a content provider for easy access and the ability to have other app hook into your calendar if you choose. make sure you declare the content provider in your manifest\n\n    \u003cprovider\n        android:name=\"com.tyczj.extendedcalendarview.CalendarProvider\"\n        android:authorities=\"com.tyczj.extendedcalendarview.calendarprovider\" /\u003e\n                \nif you dont want other apps to have access to your database make you add this attribute to the provider \n    \n    android:permission=\"signature\"    \n    \nCurrent database columns\n\n    id - database id of the event\n    event (Text) - name of the event\n    location (Text) - where the event is\n    description (Text) - information about the event\n    start (Integer) - when the event starts\n    end (Integer) - when the event ends\n    start_day (Integer) - julian start day\n    end_day (Integer) - julian end day\n    color (Integer) - the color of the event\n\nAdding Events\n=============\n\nTo add an event to the content provider you need the start time, end time, julian start day and julian end day. For now you will have to implement your own way to get all the information but eventually in the future I may create one that you can just call and use.\n\n    ContentValues values = new ContentValues();\n\t\tvalues.put(CalendarProvider.COLOR, Event.COLOR_RED);\n\t\tvalues.put(CalendarProvider.DESCRIPTION, \"Some Description\");\n\t\tvalues.put(CalendarProvider.LOCATION, \"Some location);\n\t\tvalues.put(CalendarProvider.EVENT, \"Event name);\n\t\t\t\n\t\tCalendar cal = Calendar.getInstance();\n\t\t\t\n\t\tcal.set(startDayYear, startDayMonth, startDayDay, startTimeHour, startTimeMin);\n\t\tvalues.put(CalendarProvider.START, cal.getTimeInMillis());\n\t\tvalues.put(CalendarProvider.START_DAY, julianDay);\n\t\tTimeZone tz = TimeZone.getDefault();\n\t\t\t\n\t\tcal.set(endDayYear, endDayMonth, endDayDay, endTimeHour, endTimeMin);\n\t\tint endDayJulian = Time.getJulianDay(cal.getTimeInMillis(), TimeUnit.MILLISECONDS.toSeconds(tz.getOffset(cal.getTimeInMillis())));\n\t\t\t\n\t\tvalues.put(CalendarProvider.END, cal.getTimeInMillis());\n\t\tvalues.put(CalendarProvider.END_DAY, endDayJulian);\n\n\t\tUri uri = getContentResolver().insert(CalendarProvider.CONTENT_URI, values);\n\t\t\njulian start day is generated for you when the month is built so all you would have to do it call day.getStartDay() on the day and it will give you the julian day\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyczj%2FExtendedCalendarView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyczj%2FExtendedCalendarView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyczj%2FExtendedCalendarView/lists"}