Parcourir la source

更新体温计解析

master
陈福行 il y a 6 mois
Parent
révision
3d5b90c3e3

+ 22
- 65
app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/TempCmdActivity.java Voir le fichier

@@ -11,7 +11,6 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -60,7 +59,6 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O
private RadioButton rb_single;
private RadioButton rb_c;
private EditText et_temp;
private EditText et_history;

private int stamp = 0;// 历史记录最新一条的时间戳

@@ -111,6 +109,7 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O
findViewById(R.id.btnBattery).setOnClickListener(this);
findViewById(R.id.btn_get_did).setOnClickListener(this);
findViewById(R.id.clear).setOnClickListener(this);
findViewById(R.id.btnSetTime).setOnClickListener(this);
et_type = findViewById(R.id.et_type);

btn_get_history = findViewById(R.id.btn_get_history);
@@ -121,7 +120,6 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O
rb_single = findViewById(R.id.rb_single);
rb_c = findViewById(R.id.rb_c);
et_temp = findViewById(R.id.et_temp);
et_history = findViewById(R.id.et_history);
btn_del_history = findViewById(R.id.btn_del_history);

btn_get_history.setOnClickListener(this);
@@ -181,21 +179,7 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O
break;
case R.id.btn_get_history:
// 读取历史记录
// try {
// int size = Integer.parseInt(et_history.getText().toString());
// mBleDevice.getHistory(size, stamp);
// } catch (Exception ignored) {}
try {
String time = et_history.getText().toString();
if (time.isEmpty()) {
mBleDevice.getHistoryNew(0);
} else {
mBleDevice.getHistoryNew(Long.parseLong(time));
}
} catch (Exception e) {
Toast.makeText(this, "请按规则来", Toast.LENGTH_SHORT).show();
}

mBleDevice.getHistoryNew(0);
break;
case R.id.btn_get_mode:
// 获取设备测温模式
@@ -225,7 +209,11 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O
}
break;
case R.id.btn_del_history:
mBleDevice.delHistoryNew();
mBleDevice.getHistoryNew(3);
break;

case R.id.btnSetTime:
mBleDevice.setUnixStampNew(System.currentTimeMillis());
break;
}
}
@@ -250,7 +238,7 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O
if (isDestroyed() || isFinishing()) {
return;
}
int stamp = (int) (System.currentTimeMillis() / 1000);
long stamp = System.currentTimeMillis();
mList.add("同步Unix时间戳:" + stamp);
mHandler.sendEmptyMessage(REFRESH_DATA);
mBleDevice.setUnixStampNew(stamp);
@@ -314,7 +302,6 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O

//-----------------通知-------------------

private long lastTime;

private class NotifyData implements TempDeviceData.onNotifyData {
@Override
@@ -358,24 +345,6 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O
mHandler.sendEmptyMessage(REFRESH_DATA);
}

@Override
public void mcuHistory(int maxSize, int curSize, List<TempDeviceData.HistoryBean> list) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
String str = "MCU上发历史记录:\n总条数:" + maxSize + ";此次发送:" + curSize;
for (int i = 0; i < list.size(); i++) {
TempDeviceData.HistoryBean bean = list.get(i);
str += "\n";
str += i + ":" + sdf.format(bean.getStamp());
str += "\n温度值:" + bean.getTemp() + ";单位:" + bean.getUnit() + ";小数点:" + bean.getDecimal();

// 把最新的一条时间戳保存起来
if (i == list.size() - 1) {
stamp = bean.getStamp();
}
}
mList.add(str);
mHandler.sendEmptyMessage(REFRESH_DATA);
}

@Override
public void mcuGetMode(int mode) {
@@ -415,36 +384,24 @@ public class TempCmdActivity extends BleBaseActivity implements OnCallbackDis, O


@Override
public void onHistoryNum(long allNum, long sendNum) {
if (allNum == sendNum) {
//这里在前那一次数据
mList.add(TimeUtils.getTime() + "历史记录获取完成");
public void offlineData(int totalNum, int sendNum, List<TempDeviceData.HistoryBean> list) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
String str = "MCU上发历史记录:\n总条数:" + totalNum + ";已发送:" + sendNum;
for (int i = 0; i < list.size(); i++) {
TempDeviceData.HistoryBean bean = list.get(i);
str += "\n";
str += i + ":" + sdf.format(bean.getStamp());
str += "\n温度值:" + bean.getTemp() + ";单位:" + bean.getUnit() + ";小数点:" + bean.getDecimal();
}
mList.add(str);
if (totalNum != sendNum) {
//离线数据获取未完成,继续获取
mBleDevice.getHistoryNew(1);
} else {
mList.add(TimeUtils.getTime() + "历史记录获取未完成: 下次获取时间: " + lastTime);
mBleDevice.getHistoryNew(lastTime);
mList.add(TimeUtils.getTime() + "历史记录获取完成");
}
mHandler.sendEmptyMessage(REFRESH_DATA);
}

@Override
public void onHistory(long time, byte[] value) {
mList.add(TimeUtils.getTime() + "历史记录: " + TimeUtils.getTime(time*1000) + " 数据: " + BleStrUtils.byte2HexStr(value));
mHandler.sendEmptyMessage(REFRESH_DATA);
}

@Override
public void onHistoryLast(long time) {
lastTime = time;
mList.add(TimeUtils.getTime() + "最新一条历史记录: 时间" + time);
et_history.setText(lastTime+"");
mHandler.sendEmptyMessage(REFRESH_DATA);
}

@Override
public void onDelHistory(int result) {
mList.add(TimeUtils.getTime() + "删除历史记录结果: " + (result == 0 ? "成功" : "失败"));
mHandler.sendEmptyMessage(REFRESH_DATA);
}
}

@Override

Chargement…
Annuler
Enregistrer