Giter Site home page Giter Site logo

extendedcalendarview-1's Introduction

ExtendedCalendarView

ScreenShot

Currently there is no easy way of showing a calendar with the ability to display events on days, ExtendedCalendarView is meant to solve that problem.

Usage

simply declare it in your layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >

<com.tyczj.extendedcalendarview.ExtendedCalendarView 
    android:id="@+id/calendar"
    android:layout_height="match_parent"
    android:layout_width="match_parent"/>

</RelativeLayout>

get the view like you normally would

ExtendedCalendarView calendar = (ExtendedCalendarView)findViewById(R.id.calendar);

Calendar Content Provider

All 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

<provider
    android:name="com.tyczj.extendedcalendarview.CalendarProvider"
    android:authorities="com.tyczj.extendedcalendarview.calendarprovider" />

if you dont want other apps to have access to your database make you add this attribute to the provider

android:permission="signature"    

Current database columns

id - database id of the event
event (Text) - name of the event
location (Text) - where the event is
description (Text) - information about the event
start (Integer) - when the event starts
end (Integer) - when the event ends
start_day (Integer) - julian start day
end_day (Integer) - julian end day
color (Integer) - the color of the event

Adding Events

To 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.

ContentValues values = new ContentValues();
	values.put(CalendarProvider.COLOR, Event.COLOR_RED);
	values.put(CalendarProvider.DESCRIPTION, "Some Description");
	values.put(CalendarProvider.LOCATION, "Some location);
	values.put(CalendarProvider.EVENT, "Event name);
		
	Calendar cal = Calendar.getInstance();
		
	cal.set(startDayYear, startDayMonth, startDayDay, startTimeHour, startTimeMin);
	values.put(CalendarProvider.START, cal.getTimeInMillis());
	values.put(CalendarProvider.START_DAY, julianDay);
	TimeZone tz = TimeZone.getDefault();
		
	cal.set(endDayYear, endDayMonth, endDayDay, endTimeHour, endTimeMin);
	int endDayJulian = Time.getJulianDay(cal.getTimeInMillis(), TimeUnit.MILLISECONDS.toSeconds(tz.getOffset(cal.getTimeInMillis())));
		
	values.put(CalendarProvider.END, cal.getTimeInMillis());
	values.put(CalendarProvider.END_DAY, endDayJulian);

	Uri uri = getContentResolver().insert(CalendarProvider.CONTENT_URI, values);

julian 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

extendedcalendarview-1's People

Contributors

tyczj avatar yelinaung avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.