没有合适的资源?快使用搜索试试~ 我知道了~
Android原生DeskClock分析2
需积分: 9 5 下载量 188 浏览量
2018-01-30
18:48:35
上传
评论
收藏 267KB DOCX 举报
温馨提示
试读
38页
DeskClock界面的组件 View组件中包括: NextAlarm,BatteryDisplay,WeatherCurrentTemperature,WertherHighTemerature,WertherLowTemerature,WertherLocation,Date,TimeDisplay,AmPm(天气组件部分未实现) Button组件中包括:alarm_button gallery_button music_button home_button nightmode_button
资源推荐
资源详情
资源评论
CHINA
DeskClock 分析文档
DeskClock 分析文档
DeskClock 分析
一. DeskClock 界面
二. Alarms 界面
三. 设置闹钟参数
四. 设置 Alarms 属性
五. 布局文件
六. 个人总结及 BUG
附件:Deskclock 类图
2
DeskClock 分析文档
一.DeskClock 界面
myDeskClock 界面的组件
View 组 件 中 包 括 :
NextAlarm,BatteryDisplay,WeatherCurrentTemperature,WertherHighTemerature,W
ertherLowTemerature,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~get24Ho
urMode~setShowAmPm~onAttachedToWindow,过滤~另起线程~更新数据
常量:
ACTION_DATE_CHANGED
广播行动:时间已经改变了
ACTION_BATTERY_CHANGED
系统定义,包括充电状态,普通状态
ACTION_MIDNIGHT
夜间模式(黑屏)
BATTERY_STATUS_UNKNOWN
位置位置
QUERY_WEATHER_DATA_MSG
查询天气信息
UPDATE_WEATHER_DISPLAY_MSG
更新天气显示信息
3
DeskClock 分析文档
QUERY_WEATHER_DELAY
查询天气是否显示
SCREEN_SAVER_TIMEOUT_MSG
超时屏保信息
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
外部内容的 URI
FLAG_ACTIVITY_CLEAR_TOP
清除顶部活动
FLAG_ACTIVITY_NEW_TASK
新建活动栈
INTENT_ACTION_MUSIC_PLAYER
跳转 music
ACTION_MAIN
跳转 home
DOCK_SETTINGS_ACTION
设置底座
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 与前台通信。
<service android:name="NotiService" android:process=":remote" />
private void sendBroad() {
Intent it = new Intent();
it.putExtra("netTraffic", getTotal());
it.setAction("com.dragon.net");
this.sendBroadcast(it);
}
5
剩余37页未读,继续阅读
资源评论
jj-helloworld
- 粉丝: 2
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功