Android中的日历,只有真机才有,模拟上是没有的,所以测试环境一定要真机!!

因为日历是系统自带的,所以我们读写它一定要申请权限,也就是在AndroidManifest.xml加如下两行代码(一个读一个写):

        
日历 日程URL在2.2以后版本有所改变

// 为了兼容不同版本的日历,2.2以后url发生改变private static String calanderEventURL = "";static {if (Integer.parseInt(Build.VERSION.SDK) >= 8) {calanderEventURL = "content://com.android.calendar/events";} else {calanderEventURL = "content://calendar/events";}}
下面是获取日程的主要代码:
ContentResolver cr = context.getContentResolver();// 日历里面相应的Event的URIUri uri = Uri.parse(calanderEventURL);Cursor cursor = cr.query(uri, null, null, null, null);while (cursor.moveToNext()) {CalendarEvent cde = new CalendarEvent();cde.setCalendar_id(cursor.getString(cursor.getColumnIndex(Events.CALENDAR_ID)));cde.setTitle(cursor.getString(cursor.getColumnIndex(Events.TITLE)));cde.setDtstart(cursor.getString(cursor.getColumnIndex(Events.DTSTART)));cde.setDtend(cursor.getString(cursor.getColumnIndex(Events.DTEND)));cde.setDuration(cursor.getString(cursor.getColumnIndex(Events.DURATION)));cde.setRrule(cursor.getString(cursor.getColumnIndex(Events.RRULE)));cde.setEventTimezone(cursor.getString(cursor.getColumnIndex(Events.EVENT_TIMEZONE)));calendarEvents.add(cde);}
下面是写入日程的主要代码

写入的时候这几个字段是必须的所以我就只写了这几个字段了

ContentResolver cr = context.getContentResolver();// 日历里面相应的Event的URIUri uri = Uri.parse(calanderEventURL);Cursor cursor = cr.query(uri, null, null, null, null);while (cursor.moveToNext()) {CalendarEvent cde = new CalendarEvent();cde.setCalendar_id(cursor.getString(cursor.getColumnIndex(Events.CALENDAR_ID)));cde.setTitle(cursor.getString(cursor.getColumnIndex(Events.TITLE)));cde.setDtstart(cursor.getString(cursor.getColumnIndex(Events.DTSTART)));cde.setDtend(cursor.getString(cursor.getColumnIndex(Events.DTEND)));cde.setDuration(cursor.getString(cursor.getColumnIndex(Events.DURATION)));cde.setRrule(cursor.getString(cursor.getColumnIndex(Events.RRULE)));cde.setEventTimezone(cursor.getString(cursor.getColumnIndex(Events.EVENT_TIMEZONE)));calendarEvents.add(cde);}



更多相关文章

  1. Android(安卓)2016年度知名企业公司面试题
  2. Android(安卓)取得手机屏幕大小
  3. 代码生涯的第一个开源库 刘海屏适配
  4. Android系统进程Zygote启动过程的源代码分析(1)
  5. 在线看Android系统源码,AndroidXRef的简易使用方法
  6. Android(安卓)混淆打包
  7. Android(安卓)TabLayout 实现底部导航栏和顶部导航栏
  8. Android(安卓)自定义绚丽的进度条(类似H5实现的一种效果)
  9. Android基础入门教程——8.3.10 Paint API之—— ColorFilter(颜

随机推荐

  1. 模糊的身份證怎么P清楚清晰
  2. P身份證怎么在A4纸上打印
  3. CSS:圣杯布局例子-复习
  4. CSS:盒模型-复习
  5. WSL安装及配置图形界面
  6. 事件绑定、组件、路由实例演示
  7. 【精华】Android应用程序框架分析
  8. Android(安卓)studio使用Lottie- 让Andro
  9. Android的标题栏
  10. Android(安卓)编译环境配置搭建(Ubuntu 1