ICS부터 android.provider.calendar 접근이 가능해 Canlendar DB를 사용하기 쉽다. 

calendar provider를 접근하지 못하는 이전 버전에서의 사용법. 

2.2 이상인 경우 
String targetProvider = "com.android.calendar"
2.2 미만인 경우 
String targetProvider = "calendar" 

ContentResolver contentResolver = getContentResolver();
String eventUri = String.format("content://%s/events", targetProvider);
String selectUri = String.format("content://%s/", targetProvider); 

//검색
Cursor cursor = contentResolver.query(Uri.parser(selectUri+"/calendars"), ......);
 //입력, 수정, 삭제
Uri uri =  ContentUris.withAppendedId(Uri.parse(eventUri), id));
contentResolver.update(uri, ....); 

All day추가 시
UTC 타임으로 추가 되며 당일 00시00분 부터 다음날 00시 00분으로 추가 됨.

 반복 이벤트 추가 시 
 rrule(icalendar 규칙) 과 반복 되는 시간 duration column을 추가.

 반복 이벤트 수정 시 
instance table의 start 시간과 _sync_id 컬럼을 이용해 originalInstanceTime, originalEvent 를 채움.
반복 이벤트 수정, 삭제 동작은 event table에 상황에 맞는 이벤트 추가로 반영 됨.(수정, 삭제 -> event row 추가)
Posted by 천류성

블로그 이미지
.....
천류성

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.3
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함