今天我们继续分析基于DragonBoard410c的智能照明系统该系统分为两大块:(1)定时开关(2)变换颜色的亮度。接下来我就带大家了解下整个APP.因为该程序太简单,所以代码不会太多的讲解。有问题请在文章后面回复。
(1)定时开关的实现:
case "reserve_open":
Calendar calendar = Calendar.getInstance();
long sys= System.currentTimeMillis();
calendar.setTimeInMillis(sys);
calendar.set(Calendar.HOUR_OF_DAY,Integer.parseInt(StringUtil.get(3,code,"@")));
Log.i("close",StringUtil.get(3,code,"@"));
calendar.set(Calendar.MINUTE,Integer.parseInt(StringUtil.get(4,code,"@")));
Log.i("close",StringUtil.get(4,code,"@"));
Timer opentime =new Timer();
Log.i("close",(calendar.getTimeInMillis()-sys)+"");
opentime.schedule(new TimerTask() {
@Override
public void run() { Log.i("result",StringUtil.get(1,code,"@")+"********"+StringUtil.get(2,code,"@")+"@@@@@@"+code); Config.WriteData(Config.color,StringUtil.get(1,code,"@")); Config.WriteData(Config.brightness,StringUtil.get(2,code,"@"));
}
},calendar.getTimeInMillis()-sys,(1000 * 60 * 60 * 24));
break;
case "reserve_close":
Calendar ca = Calendar.getInstance();
long system= System.currentTimeMillis();
ca.setTimeInMillis(system);
ca.set(Calendar.HOUR_OF_DAY,Integer.parseInt(StringUtil.get(1,code,"@")));
ca.set(Calendar.MINUTE,Integer.parseInt(StringUtil.get(2,code,"@")));
Timer close =new Timer();
close.schedule(new TimerTask() {
@Override
public void run() {
Config.WriteData(Config.color, "0");
}
},ca.getTimeInMillis()-system, (1000 * 60 * 60 * 24));
break;
(2)变换颜色的亮度:
case "close":
Config.WriteData(Config.color, "0");
break;
case "open":
Config.WriteData(Config.color, "10");
break;
case "red":
Config.WriteData(Config.color, "1");
break;
case "red_light":
Config.WriteData(Config.color, "4");
break;
case "green":
Config.WriteData(Config.color, "3");
break;
case "green_light":
Config.WriteData(Config.color, "6");
break;
case "blue":
Config.WriteData(Config.color, "2");
break;
case "blue_light":
Config.WriteData(Config.color, "5");
break;
case "white":
Config.WriteData(Config.color, "10");
break;
Config.writeData();方法是自己封装的一个File的操作类:
public static void WriteData(String path, String content) {
FileOutputStream fos = null;
File file = new File(path);
if (file.exists()) {
try {
fos = new FileOutputStream(file);
Log.e("File", "FileWriter"+content);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
byte[] array = content.getBytes();
try {
fos.write(array);
} catch (IOException e) {
e.printStackTrace();
}
try {
fos.flush();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
本次介绍到此结束,如有疑惑请在文章底部留言!谢谢大家。