package com.alarms; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import com.concentrator.Concentrator_State; import com.fgkj.dao.DBHelper; import com.socket.BattDataThread; import com.util.Com; import java.util.Date; import java.util.List; /** * 电池告警监测线程 */ public class BattAlarmCheckThread extends Thread{ public final static String TAG = "BattAlarmCheckThread"; private DBHelper dbHelper; private List allBattDatt; public AlarmParam alarmParam; //告警参数 public BattAlarmCheckThread(DBHelper dbHelper, List allBattDatt){ this.dbHelper = dbHelper; this.allBattDatt = allBattDatt; alarmParam = new AlarmParam(); SQLiteDatabase db = dbHelper.getWritableDatabase(); DBHelper.Create_alarm_param(db); //创建告警参数表 DBHelper.Create_battalarm_data(db); //创建告警数据表 if(db != null){ db.close(); } } @Override public void run() { Log.d(TAG, "run: BattAlarmCheckThread start at"+ Com.getDateTimeFormat(new Date(),Com.DTF_YMDhms)); //初始化告警对象 try { //线程启动30秒后开始检测电池告警 sleep(30*1000); } catch (InterruptedException e) { e.printStackTrace(); } initBattAlarmParam(dbHelper,alarmParam); //初始化告警参数(数据库中的告警参数) initBattAlarmData(allBattDatt,dbHelper); //初始化告警对象 while (true){ try { for(int i=0;i alarmDatas = battDataThread.state.makeAlarmData(battDataThread,alarmParam); if(alarmDatas.size() > 0){ //Log.e(TAG, "run: 更新告警条数"+ alarmDatas.size()); //更新当前告警记录 for(int k = 0;k