calendar模块

本文详细剖析了Android日历模块的结构,包括日、周、月视图和日程视图的组件与布局,以及启动流程。从AllInOneActivity.java入口,介绍了日历模块的各个组件、服务、活动和类的职责,如CalendarController、EventInfoActivity、AlertActivity等。同时,文章还探讨了新建日程的业务流程,从长按日视图触发到EditEventActivity的交互。此外,提到了AndroidManifest.xml中的关键权限设置。
摘要由CSDN通过智能技术生成

一.src文件分析:
与calendar相关的包和类
 
Calendar模块根据包的划分,可以将Calendar初步归类为:
四个视图组:月视图、周视图、日视图、日程视图;
核心业务组:添加日程、设置日程提醒、日历同步;
在calendar包下的上层代码中有DayFragment.java、DayView.java这两个与日视图相关的类;
在/month包下是月视图模块;
在/agenda包下是日程视图模块;
在/event包下是日程的编辑、显示模块;
在/alert包下是日程提示模块;
在/selectcalendars包下是与日历同步相关的视图与操作模块;
在/widget包下,顾名思义是桌面小部件模块。、
在/lunar包下,日历阴历显示
二.启动流程
I、概述:
1. AllInOneActivity.java //入口类,初始化日历数据与界面
2. AsyncQueryService //为ContentProvide提供增删改查功能的支持

3. CalendarController.java //控制中心,沟通AllInOneActivity和各个模块

4. CalendarViewAdapter.java //适配左上角的下拉导航菜单
5. CalendarSettingsActivity.java //ActionBar的Setting按钮
6. EditEvent.java  //新建日程活动,设置活动名称,时间,地点,提醒闹铃等。
7. EventInfoActivity.java  //查看活动详情,可以编辑更新活动内容。
8. SelectCalendarsActivity.java  //日历本地日历是否同步和显示。
9. CalendarPreferenceActivity.java  //日历设置,日历视图设置,提醒设置,关于等功能。
10. AlertActivity.java  //日历通知,提示日历活动是否延迟或关闭活动提醒。
11. AlertService.java  //闹铃提醒服务。
12. DismissAllAlarmsService.java  //解雇所有警报服务。
13. SearchActivity.java  //查询日程活动(2.3.0版本没有此功能);
14. LunarCalendar.java //阴历
15. DayUtils.java //将日期转换成各种不同的显示样式
16. DayFragment.java //显示日视图
17. DayOfMonthDrawable.java //点击“今天”之后重绘的the day of the month
18. DayView.java //对日视图的重绘及其有关的信息处理
19. EventInfoActivity.java //显示详细的事件信息

20. EventInfoFragment.java //详细事件的视图
21. GeneralPreferences.java //保存了日历应用的默认配置
22. QuickResponseSettings.java //设置要发送日历给Email时的快速响应
23. SearchActivity.java //“搜索”按钮的响应
24. Utils.java //各种辅助工具
25. ./month下:
26. MonthByWeekFragment.java //显示月视图
27. MonthWeekEventsView.java //显示月视图中的Event
28. SimpleDayPickerFragment.java//动态绘制一个可选Days的Title list of Week
29. SimpleWeekView.java //动态绘制单独的一周的视图
30. ./agenda下:
31. AgendaFragment.java //日程详细视图
32. AgendaListView.java //日程列表模块
33. ./event下:
34. EditEventActivity.java //用来详细编译一个事件
35. EditEventFragment.java //显示编辑事件的视图
36. ./alerts下:
37. AlertActivity.java //提醒类事件
38. AlertService.java //后台运行的提醒类服务
39. QuickResponseActivity.java //用户从notifications向外发送邮件时呈现一个账户List

40. ./selectcalendars下:
41. electCalendarsSyncFragment.java//选择同步日历的视图
42. SelectSyncedCalendarsMultiAccountActivity.java//多账户同步设置业务
43. SelectVisibleCalendarsActivity.java//选择可见账户日历业务
44. SelectVisibleCalendarsFragment.java//可见日历视图
45. ./widget下:
46. CalendarAppWidgetService.java//Calendar对桌面小部件提供的远程沟通服务
47. CalendarAppWidgetPro

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值