一、项目教程链接:http://study.163.com/course/courseMain.htm?courseId=897003
与教程源码略有不同。
二、涉及功能点:
1.控制闪光灯实现手电筒的功能;
2.实现屏幕上灯光图的交替闪烁;
3.使用闪光灯的亮与灭发送莫尔斯电码;
4.使用高亮度纯色背景充当另一种手电功能。
三、涉及的技术:
1.控制闪光灯的亮与灭;
2.获取和设置屏幕亮度;
3.UI线程和非UI线程通讯;
4.自定义控件——颜色选择对话框
四、项目结构:
目前采用继承链的结构,即BaseActivity→ColorLight→WarningLight→
MorseCodeLight→ColorLight→Setting→MainActivity。其中BaseActivity获取通用控件并处理公共方法,Setting设置闪烁频率和管理快捷方式,MainActivity进行功能的选择以及相应Layout的加载隐藏,其余均为相关功能点。
五、功能点部分代码:
1.BaseActivity:
protected enum UIType {
//使用枚举类型记录每个Layout,方便在加载