Преглед на файлове

1 增加八电极秤

master
ace преди 4 години
родител
ревизия
9ae490979a

+ 319
- 0
app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/EightBodyfatActivity.java Целия файл

@@ -0,0 +1,319 @@
package aicare.net.cn.sdk.ailinksdkdemoandroid;

import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.ListView;
import android.widget.RadioButton;

import androidx.annotation.Nullable;

import com.pingwang.bluetoothlib.BleBaseActivity;
import com.pingwang.bluetoothlib.bean.SupportUnitBean;
import com.pingwang.bluetoothlib.device.BleDevice;
import com.pingwang.bluetoothlib.listener.OnCallbackBle;

import java.util.ArrayList;
import java.util.List;

import cn.net.aicare.modulelibrary.module.EightBodyfatscale.EightBodyFatBleDeviceData;
import cn.net.aicare.modulelibrary.module.EightBodyfatscale.EightBodyfatUtil;

public class EightBodyfatActivity extends BleBaseActivity implements View.OnClickListener, OnCallbackBle, EightBodyFatBleDeviceData.EightBodyFatCallback {

private List<String> loglist;
private ListView log_list;
private ArrayAdapter listAdapter;
private String mAddress;
private EightBodyFatBleDeviceData mEightBodyFatBleDeviceData;
private RadioButton kg, jing, stlb, lb,C,F;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_eight_body_fat);
mAddress = getIntent().getStringExtra("mac");
init();
loglist = new ArrayList<>();
listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, loglist);
log_list.setAdapter(listAdapter);
}


private void init(){
log_list = findViewById(R.id.log_list);
kg = findViewById(R.id.kg);
jing = findViewById(R.id.jin);
stlb = findViewById(R.id.st_lb);
lb = findViewById(R.id.lb);
C=findViewById(R.id.c);
F=findViewById(R.id.f);
findViewById(R.id.support_unit).setOnClickListener(this);
kg.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (mEightBodyFatBleDeviceData!=null)mEightBodyFatBleDeviceData.setWeightUnit(EightBodyfatUtil.KG);

}
}
});
jing.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (mEightBodyFatBleDeviceData!=null)mEightBodyFatBleDeviceData.setWeightUnit(EightBodyfatUtil.JIN);
}
}
});
stlb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (mEightBodyFatBleDeviceData!=null)mEightBodyFatBleDeviceData.setWeightUnit(EightBodyfatUtil.ST);
}
}
});
lb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (mEightBodyFatBleDeviceData!=null)mEightBodyFatBleDeviceData.setWeightUnit(EightBodyfatUtil.LB);
}
}
});
C.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (mEightBodyFatBleDeviceData!=null)mEightBodyFatBleDeviceData.setTempUnit(EightBodyfatUtil.C);
}
}
});
F.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (mEightBodyFatBleDeviceData!=null)mEightBodyFatBleDeviceData.setTempUnit(EightBodyfatUtil.F);
}
}
});
kg.setChecked(true);
C.setChecked(true);
}

@Override
public void onServiceSuccess() {
loglist.add(0, "绑定服务成功");
if (mBluetoothService != null) {
mBluetoothService.setOnCallback(this);
BleDevice bleDevice = mBluetoothService.getBleDevice(mAddress);
if (bleDevice != null) {
mEightBodyFatBleDeviceData = new EightBodyFatBleDeviceData(bleDevice);
mEightBodyFatBleDeviceData.setEightBodyFatCallback(this);
}
}

}

@Override
public void onServiceErr() {

}

@Override
public void unbindServices() {

}

@Override
public void onClick(View v) {
if (v.getId()==R.id.support_unit){
if(mEightBodyFatBleDeviceData!=null)mEightBodyFatBleDeviceData.getUnitList();
}
}

@Override
public void onState(int type, int typestate, int result) {
switch (type) {
case EightBodyfatUtil.WEIGHING:
switch (typestate) {
case EightBodyfatUtil.WEIGHT_REAL_TIME_WEIGH:
loglist.add(0, "实时体重");
break;
case EightBodyfatUtil.WEIGHT_STABILIZATION_WEIGHT:
loglist.add(0, "稳定体重");
}
break;
case EightBodyfatUtil.IMPEDANCE:
String adc = "";
switch (typestate) {
case EightBodyfatUtil.IMPEDANCE_MEASUREMENT:

adc = "阻抗测量中";
break;
case EightBodyfatUtil.IMPEDANCE_SUCCESS:
//阻抗测量成功
adc = "阻抗测量成功";
break;
case EightBodyfatUtil.IMPEDANCE_FAILED:
adc = "阻抗测量失败";
//阻抗测量失败
break;
case EightBodyfatUtil.IMPEDANCE_FINISH:
//阻抗测量完成
adc = "阻抗测量完成";
break;
}
switch (result) {
case EightBodyfatUtil.IMPEDANCE_FOOT:
adc = adc + "双脚阻抗";
break;
case EightBodyfatUtil.IMPEDANCE_HAND:
adc = adc + "双手阻抗";
break;
case EightBodyfatUtil.IMPEDANCE_BODY:
adc = adc + "躯干阻抗";
break;
case EightBodyfatUtil.IMPEDANCE_L_HAND:
adc = adc + "左手阻抗";
break;
case EightBodyfatUtil.IMPEDANCE_R_HAND:
adc = adc + "右手阻抗";
break;
case EightBodyfatUtil.IMPEDANCE_L_FOOT:
adc = adc + "左脚阻抗";
break;
case EightBodyfatUtil.IMPEDANCE_R_FOOT:
adc = adc + "右脚阻抗";
break;
case EightBodyfatUtil.IMPEDANCE_L_BODY:
adc = adc + "左驱干";
break;
case EightBodyfatUtil.IMPEDANCE_R_BODY:
adc = adc + "右躯干";
break;
case EightBodyfatUtil.IMPEDANCE_R_HAND_L_FOOT:
adc = adc + "右手左脚";
break;
case EightBodyfatUtil.IMPEDANCE_L_HAND_R_FOOT:
adc = adc + "左手右脚";
break;
default:


}

loglist.add(0, adc);
break;
case EightBodyfatUtil.HEARTRATE:
switch (typestate) {
case EightBodyfatUtil.HEARTRATE_MEASUREMENT:
//心率测量完成
loglist.add(0, "心率测量中");
break;
case EightBodyfatUtil.HEARTRATE_SUCCESS:
loglist.add(0, "心率测量成功");
//心率测量成功
break;
case EightBodyfatUtil.HEARTRATE_FAILED:
loglist.add(0, "心率测量失败");
//心率测量失败
break;
}
break;
case EightBodyfatUtil.TEMP_MEASUREMENT:
loglist.add(0, "测量温度");
break;
case EightBodyfatUtil.MEASUREMENTED:
loglist.add(0, "测量完成");
//测量完成
break;
case EightBodyfatUtil.MUCCALLBACK_RESULT:
switch (typestate) {
case EightBodyfatUtil.APPCMD_CALIIBRATION:
//校验
if (result == EightBodyfatUtil.SUCCESS) {
loglist.add(0, "校验成功");
} else if (result == EightBodyfatUtil.FAILED) {
loglist.add(0, "校验失败");
} else {
loglist.add(0, "校验中");
}
break;
case EightBodyfatUtil.APPCMD_TEMP_UNIT:
if (result == EightBodyfatUtil.SUCCESS) {
loglist.add(0, "切换温度成功");
} else if (result == EightBodyfatUtil.FAILED) {
loglist.add(0, "切换温度失败");
} else {
loglist.add(0, "切换温度中");
}
//切换温度
break;
case EightBodyfatUtil.APPCMD_WEIGHT_UNIT:
if (result == EightBodyfatUtil.SUCCESS) {
loglist.add(0, "切换体重单位成功");
} else if (result == EightBodyfatUtil.FAILED) {
loglist.add(0, "切换体重单位失败");
} else {
loglist.add(0, "切换体重单位中");
}
//切换温度
break;
}
break;
case EightBodyfatUtil.ERROR_CODE:
loglist.add(0, "错误码"+typestate);
break;

}
listAdapter.notifyDataSetChanged();

}

@Override
public void onWeight(int state, float weight, int unit, int decimal) {
if (unit == EightBodyfatUtil.ST) {
loglist.add(0, "测量状态:" + state + " 体重:" + EightBodyfatUtil.lbtostlb(weight) + " 体重单位:" +unit+ " 小数点位" + decimal);
} else {
loglist.add(0, "测量状态:" + state + " 体重:" + weight + " 体重单位:" +unit+ " 小数点位" + decimal);
}
}

@Override
public void onimpedance(int adc, int part, int arithmetic) {
loglist.add(0, "阻抗:" + adc + " 部位: " + part + " 算法" + arithmetic);
}

@Override
public void onHeartRate(int heartrate) {
loglist.add(0, " 心率" + heartrate);
}

@Override
public void onTEMP(int sign, float temp, int unit, int decimal) {
loglist.add(0, " 温度 正负" + sign + " 温度:" + temp + " 单位: " + unit + " 小数位" + decimal);
}

@Override
public void onVersion(String version) {
loglist.add(0, "当前版本:" + version);
listAdapter.notifyDataSetChanged();
}

@Override
public void onSupportUnit(List<SupportUnitBean> list) {
loglist.add(0, "支持单位:");
for (SupportUnitBean supportUnitBean:list) {
loglist.add(0, supportUnitBean.toString());
}
listAdapter.notifyDataSetChanged();
}

@Override
public void showdata(String data) {
loglist.add(0, data);
}
}

+ 70
- 0
app/src/main/res/layout/activity_eight_body_fat.xml Целия файл

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioGroup
android:id="@+id/unit"
android:layout_below="@+id/edit_Userid"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/kg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="kg"/>
<RadioButton
android:id="@+id/jin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="斤"/>
<RadioButton
android:id="@+id/st_lb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="st:lb"/>
<RadioButton
android:id="@+id/lb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="lb"/>
</RadioGroup>
<RadioGroup
android:id="@+id/temp_unit"
android:layout_below="@+id/edit_Userid"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/c"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="℃"/>
<RadioButton
android:id="@+id/f"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="℉"/>

</RadioGroup>
<Button
android:id="@+id/support_unit"
android:text="查询支持单位"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ListView
android:id="@+id/log_list"
android:layout_marginTop="20dp"
android:layout_below="@id/unit"
android:layout_width="match_parent"
android:layout_height="match_parent">

</ListView>
</LinearLayout>

Loading…
Отказ
Запис