@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler(){
@SuppressLint("MissingPermission")
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch(msg.what){
case RECEIVE_SUCCESS: //接收成功
String receiveResult = (String) msg.obj;
weight.setText(receiveResult.substring(receiveResult.indexOf(":")+1,receiveResult.lastIndexOf("#"))+"g");
if (receiveResult.contains(",time1_on")){
s1.setChecked(true);
}
if (receiveResult.contains(",time1_off")){
s1.setChecked(false);
}
if (receiveResult.contains(",time2_on")){
s2.setChecked(true);
}
if (receiveResult.contains(",time2_off")){
s2.setChecked(false);
}
if (receiveResult.contains(",time3_on")){
s3.setChecked(true);
}
if (receiveResult.contains(",time3_off")){
s3.setChecked(false);
}
if (receiveResult.contains(",time4_on"))
s4.setChecked(true);
if (receiveResult.contains(",time4_off"))
s4.setChecked(false);
if (receiveResult.contains("time5_on"))
s5.setChecked(true);
if (receiveResult.contains("time5_off"))
s5.setChecked(false);
if (receiveResult.contains(",start")){
Calendar calendar=Calendar.getInstance();
Date d1=calendar.getTime();
calendar.add(Calendar.MINUTE,30);
Date d2=calendar.getTime();
SQLiteDatabase db=dataBase.getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put(DataBase.COLUMN_ST,String.valueOf(d1));
db.insert(DataBase.TABLE2,null,contentValues);
TimerTask timerTask=new TimerTask() {
@Override
public void run() {
contentValues.put(DataBase.COLUMN_ET,String.valueOf(d2));
contentValues.put(DataBase.COLUMN_EW,Integer.valueOf(weight.getText().toString()));
}
};
Timer timer=new Timer(true);
timer.schedule(timerTask,d2);
if (String.valueOf(weight.getText())=="0"){
timer.cancel();
Date d3=calendar.getTime();
contentValues.put(DataBase.COLUMN_ET,String.valueOf(d3));
contentValues.put(DataBase.COLUMN_EW,0);
db.insert(DataBase.TABLE2,null,contentValues);
}
if(receiveResult.contains(",stop")){
contentValues.put(DataBase.COLUMN_SW,Integer.valueOf(weight.getText().toString()));
db.insert(DataBase.TABLE2,null,contentValues);
}
}
break;
}
当handle接受到信号时进行数据库表的插入,需要将这四个数据插入同一行,接收到这start将开始时间插进去,接收到stop将weight里的数据插入同一行的sw,然后在设置一个计时器,当在20分钟内weight=0了就在et插入当前时间和0分别到et和ew中,否则插入20分钟后的时候,并且插入此时的weight的数据到ew
这四个数据插入到同一行中,作为一条数据
如果需要加ID,除了他自增,还可不可以实现如果删除某一行的数据,ID从下一行自动接着上一行的id编号
删除某一行的某一个数据,是使用修改语句吗?
查询数据库的时候将数据显示在listview上,然后开始没有id,如果现在也不需要显示ID数据,不用修改适配器吧?