diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java index 0326f83..bb97c57 100644 --- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/activity/OldPeopleMainActivity.java @@ -17,6 +17,7 @@ import android.support.v4.app.FragmentTransaction; import android.view.MenuItem; import android.view.View; import android.widget.RelativeLayout; +import android.widget.TextView; import com.scorpiomiku.oldpeoplehome.R; import com.scorpiomiku.oldpeoplehome.base.BaseActivity; @@ -41,7 +42,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.Iterator; -import java.util.List; import java.util.Locale; import butterknife.BindView; @@ -59,12 +59,18 @@ public class OldPeopleMainActivity extends BaseActivity { BottomNavigationView navigation; @BindView(R.id.floating_button) FloatingActionButton floatingButton; + private String step; private String cal; private String distance; private String sportTime; + private String curHeartRate; private String[] heartRates = new String[6]; private String sleepType; + private String bloodPressureShrink; + private String bloodPressureDiastole; + private String oxygen; + private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener; private FragmentManager fragmentManager; private BaseFragment[] fragments = { @@ -94,6 +100,9 @@ public class OldPeopleMainActivity extends BaseActivity { //蓝牙获取信息 loadData(); break; + case 2: + ((HeartRateFragment) fragments[2]).changeText(curHeartRate, bloodPressureShrink, bloodPressureDiastole, oxygen); + break; } } }; @@ -328,8 +337,14 @@ public class OldPeopleMainActivity extends BaseActivity { } @Override - public void onGetSenserData(int i, long l, int i1, int i2) throws RemoteException { - + public void onGetSenserData(int result, long timestamp, int heartrate, int sleepstatu) + throws RemoteException { + Date date = new Date(timestamp * 1000); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); + String time = sdf.format(date); + curHeartRate = heartrate + ""; + LogUtils.logd("onGetSenserData-" + "result: " + result + ",time:" + time + ",heartrate:" + heartrate + ",sleepstatu:" + sleepstatu); + handler.sendEmptyMessage(2); } @Override @@ -400,8 +415,17 @@ public class OldPeopleMainActivity extends BaseActivity { } @Override - public void onReceiveSensorData(int i, int i1, int i2, int i3, int i4) throws RemoteException { - + public void onReceiveSensorData(int arg0, int arg1, int arg2, int arg3, + int arg4) throws RemoteException { + LogUtils.logd("onReceiveSensorData" + "result:" + arg0 + " , " + arg1 + " , " + arg2 + " , " + arg3 + " , " + arg4); + if (arg2 != 0) { + LogUtils.shortToast("测量成功"); + } + curHeartRate = arg0 + ""; + bloodPressureShrink = arg1 + ""; + bloodPressureDiastole = arg2 + ""; + oxygen = arg3 + ""; + handler.sendEmptyMessage(2); } @Override @@ -472,8 +496,8 @@ public class OldPeopleMainActivity extends BaseActivity { @Override public void onServiceConnected(ComponentName componentName, IBinder service) { LogUtils.shortToast("Service connected"); - mService = IRemoteService.Stub.asInterface(service); + try { mService.registerCallback(mServiceCallback); mService.openSDKLog(bSave, pathLog, "blue.log"); @@ -617,8 +641,7 @@ public class OldPeopleMainActivity extends BaseActivity { private void getNewHandData() { try { mService.getCurSportData(); - mService.getDataByDay(2, 0); //获取心率 -// mService.getDataByDay(1, 0); +// mService.getDataByDay(2, 0); //获取心率 for (int i = 5; i >= 0; i--) { } @@ -632,10 +655,34 @@ public class OldPeopleMainActivity extends BaseActivity { getNewHandData(); } + /** + * 更新UI调用 + */ private void loadData() { for (int i = 0; i < fragments.length; i++) { refreshUi(step, cal, distance, sportTime, heartRates, sleepType, fragments[i]); } } + private Boolean heartRateOpen = false; + + /** + * 测试心率按钮点击事件 + */ + public void setHeartRateMode(TextView begin) { + if (heartRateOpen) { + //关闭 + begin.setText("开启"); + } else { + //开启 + begin.setText("关闭"); + } + heartRateOpen = !heartRateOpen; + try { + mService.setHeartRateMode(heartRateOpen, 120); + mService.setBloodPressureMode(heartRateOpen); + } catch (RemoteException e) { + e.printStackTrace(); + } + } } diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/HeartRateFragment.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/HeartRateFragment.java index 9b589cd..d725132 100644 --- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/HeartRateFragment.java +++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/HeartRateFragment.java @@ -11,6 +11,7 @@ import com.github.mikephil.charting.charts.LineChart; import com.github.mikephil.charting.data.Entry; import com.scorpiomiku.oldpeoplehome.R; import com.scorpiomiku.oldpeoplehome.base.BaseFragment; +import com.scorpiomiku.oldpeoplehome.modules.oldpeople.activity.OldPeopleMainActivity; import com.scorpiomiku.oldpeoplehome.utils.ChartUtils; import java.util.ArrayList; @@ -35,6 +36,13 @@ public class HeartRateFragment extends BaseFragment { @BindView(R.id.chart) LineChart chart; Unbinder unbinder; + @BindView(R.id.diastolic) + TextView diastolic; + @BindView(R.id.systolic) + TextView systolic; + @BindView(R.id.oxy) + TextView oxy; + @Override protected Handler initHandle() { @@ -89,4 +97,23 @@ public class HeartRateFragment extends BaseFragment { super.refreshUi(step, cal, distance, sportTime, heartRate, sleepType); heartRateText.setText(heartRate[5]); } + + + @OnClick(R.id.begin) + public void onViewClicked() { + assert ((OldPeopleMainActivity) getContext()) != null; + ((OldPeopleMainActivity) getContext()).setHeartRateMode(begin); + } + + /** + * 修改数值 + * + * @param heart + */ + public void changeText(String heart, String systolic, String diastolic, String oxy) { + heartRateText.setText(heart); + this.diastolic.setText(diastolic); + this.systolic.setText(systolic); + this.oxy.setText(oxy); + } } diff --git a/android/OldPeopleHome/app/src/main/res/drawable/ic_bloodpressure.xml b/android/OldPeopleHome/app/src/main/res/drawable/ic_bloodpressure.xml new file mode 100644 index 0000000..b0e5d70 --- /dev/null +++ b/android/OldPeopleHome/app/src/main/res/drawable/ic_bloodpressure.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/android/OldPeopleHome/app/src/main/res/drawable/ic_oxy.xml b/android/OldPeopleHome/app/src/main/res/drawable/ic_oxy.xml new file mode 100644 index 0000000..d0ede30 --- /dev/null +++ b/android/OldPeopleHome/app/src/main/res/drawable/ic_oxy.xml @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/android/OldPeopleHome/app/src/main/res/layout/fragment_old_heart_rate.xml b/android/OldPeopleHome/app/src/main/res/layout/fragment_old_heart_rate.xml index 369c0cb..7403214 100644 --- a/android/OldPeopleHome/app/src/main/res/layout/fragment_old_heart_rate.xml +++ b/android/OldPeopleHome/app/src/main/res/layout/fragment_old_heart_rate.xml @@ -147,13 +147,13 @@ + android:src="@drawable/ic_bloodpressure" /> @@ -165,6 +165,7 @@ android:orientation="horizontal"> + + android:src="@drawable/ic_bloodpressure" /> @@ -211,6 +213,7 @@ android:orientation="horizontal"> + + android:src="@drawable/ic_oxy" /> @@ -257,6 +261,7 @@ android:orientation="horizontal"> @@ -284,6 +289,7 @@ android:layout_height="0dp" android:layout_weight="1.2" android:orientation="horizontal"> +