Android原生模块DeskClock分析1
CHINA
DeskClock分析文档
DeskClock分析文档
DeskClock分析
一. DeskClock界面 二. Alarms界面 三. 设置闹钟参数 四. 设置Alarms属性 五. 布局文件 六. 个人总结及BUG
附件:Deskclock类图
2
DeskClock分析文档
一. DeskClock界面
DeskClock界面的组件
View组件中包括: NextAlarm,BatteryDisplay,WeatherCurrentTemperature,WertherHighTemerature,WertherLowTemerature,WertherLocation,Date,TimeDisplay,AmPm(天气组件部分未实现)
Button组件中包括:alarm_button gallery_button music_button home_button nightmode_button
2.DeskClock继承Activity类,主要实现跳转功能。 通过将监听器绑定在Button上,实现界面跳转。
本界面重点在于屏保的转换,通过nightmode_button按钮,实现暗屏,屏保等功能。 屏幕明暗转换: · 暗~明:
UI~创建View并监听~执行nightmodeButton~Dodim~判断true/false执行是否变暗。
· 明~暗:
UI~创建View并监听~接收到点击黑屏事件~ nightmodeButton~Dodim~判断true/false执行是否变暗。
屏保模式:(超时自动屏保,手动屏保,黑屏移动,退出屏保模式)
· 超时自动屏保:
另起线程~当屏幕超时无操作时~新建View,Window获得并显示信息~创建数据~刷新数据~设置可见~确定位置。 · 长按变暗:
UI~判断dimed的true/false~按nightmodeButton~接受黑屏事件并定义View,将数据显示在黑屏上~刷新数据~刷新闹钟~创建View来显示时钟数据并重新定义位置。 · 黑屏移动:
另起线程~当改变位置时~调用moveScreenSaver~确定位置~定义长宽.
Digital:另起线程,更新数据~更新~改变格式
· 退出屏保:
onDetachedFromWindow~DigitalClock~onFinishInflate~AmPm~setDateFormat~get24HourMode~setShowAmPm~onAttachedToWindow,过滤~另起线程~更新数据
? 常量: ACTION_DATE_CHANGED ACTION_BATTERY_CHANGED ACTION_MIDNIGHT BATTERY_STATUS_UNKNOWN QUERY_WEATHER_DATA_MSG UPDATE_WEATHER_DISPLAY_MSG QUERY_WEATHER_DELAY SCREEN_SAVER_TIMEOUT_MSG
广播行动:时间已经改变了 系统定义,包括充电状态,普通状态 夜间模式(黑屏) 位置位置 查询天气信息 更新天气显示信息 查询天气是否显示 超时屏保信息
3
DeskClock分析文档
SCREEN_SAVER_MOVE_MSG FLAG_SHOW_WHEN_LOCKED FLAG_ALLOW_LOCK_WHILE_SCREEN_ON FLAG_TURN_SCREEN_ON FLAG_KEEP_SCREEN_ON SCREEN_SAVER_COLOR_DIM ACTION_GENIE_REFRESH WEATHER_CONTENT_AUTHORITY WEATHER_CONTENT_PATH BATTERY_STATUS_CHARGING BATTERY_STATUS_FULL NEXT_ALARM_FORMATTED INVISIBLE FLAG_FULLSCREEN BRIGHTNESS_OVERRIDE_OFF BRIGHTNESS_OVERRIDE_NONE ACTION_EXIT_DESK_MODE ALARM_SERVICE CATEGORY_DESK_DOCK EXTERNAL_CONTENT_URI FLAG_ACTIVITY_CLEAR_TOP FLAG_ACTIVITY_NEW_TASK INTENT_ACTION_MUSIC_PLAYER ACTION_MAIN DOCK_SETTINGS_ACTION
屏保移动信息 锁屏显示 亮屏允许锁定 亮屏 保持亮屏 暗屏 当局天气内容 天气路径 电池充电状态 电池慢点状态 格式化下一个闹铃 不可见的(视图) 满屏,隐藏所有装饰 关闭覆盖亮度 无覆盖亮度 桌面模式 闹铃服务 桌面底座种类 外部内容的URI 清除顶部活动 新建活动栈 跳转music 跳转home 设置底座
4
DeskClock分析文档
二. Alarms界面
?
要解决哪些问题: ? 闹钟涉及到有关类和方法 ? 怎样闹铃 ? 闹铃之后的操作
闹钟涉及到有关类和方法
? ? ? ? ? ? ? ? ? ? ? ?
BroadcastReceiver PendingIntent AlarmManager ContentObserver Parcelable LayoutLayout
存储和获取数据的机制——preference ContentResolver
newView和bindView的作用
Notification与Toast的区别以及Notification的使用 如何将应用程序的数据暴露出去 如何在Activity之间共享数据
? BroadcastReceiver
BroadcastReceiver是Android中用处巨大的异步消息机制。它有轻量和跨进程的性质。一个BroadcastReceiver对象的生命周期不超过5秒,不能绑定服务和做一些耗时的操作,但是用来收发信号和消息则绰绰有余。 · BroadcastReceiver的几种用法:
1.把耗内存很多的操作(如:下载或流量统计),注册在一个跨进程的Service里面,通过BroadcastReceiver与前台通信。
? PendingIntent Intent it = new Intent(); it.putExtra(\it.setAction(\this.sendBroadcast(it); } 5
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




