diff --git a/android/OldPeopleHome/.idea/workspace.xml b/android/OldPeopleHome/.idea/workspace.xml
index 6e02b12..2a1d747 100644
--- a/android/OldPeopleHome/.idea/workspace.xml
+++ b/android/OldPeopleHome/.idea/workspace.xml
@@ -125,54 +125,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -207,8 +164,8 @@
-
-
+
+
@@ -220,8 +177,8 @@
-
-
+
+
@@ -229,11 +186,26 @@
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2084,7 +2056,6 @@
@@ -2598,7 +2570,7 @@
-
+
@@ -2645,7 +2617,7 @@
-
+
@@ -2827,7 +2799,7 @@
-
+
@@ -2885,11 +2857,12 @@
+
-
+
@@ -3128,13 +3101,6 @@
-
-
-
-
-
-
-
@@ -3174,14 +3140,6 @@
-
-
-
-
-
-
-
-
@@ -3285,14 +3243,6 @@
-
-
-
-
-
-
-
-
@@ -3304,14 +3254,6 @@
-
-
-
-
-
-
-
-
@@ -3323,10 +3265,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -3336,29 +3321,23 @@
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java
index 9906f08..7208225 100644
--- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java
+++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/loginregister/LoginActivity.java
@@ -17,6 +17,7 @@ import com.scorpiomiku.oldpeoplehome.R;
import com.scorpiomiku.oldpeoplehome.base.BaseActivity;
import com.scorpiomiku.oldpeoplehome.modules.children.activity.ChildMainActivity;
import com.scorpiomiku.oldpeoplehome.modules.oldpeople.activity.OldPeopleMainActivity;
+import com.scorpiomiku.oldpeoplehome.utils.TimeUtils;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -44,6 +45,7 @@ public class LoginActivity extends BaseActivity {
@Override
public void iniview() {
checkPermission();
+
}
@Override
diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/EnvironmentFragment.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/EnvironmentFragment.java
index 4454861..c2544a5 100644
--- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/EnvironmentFragment.java
+++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/modules/oldpeople/fragmemt/EnvironmentFragment.java
@@ -1,7 +1,9 @@
package com.scorpiomiku.oldpeoplehome.modules.oldpeople.fragmemt;
+import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
+import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -9,15 +11,23 @@ import android.widget.TextView;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
+import com.google.gson.JsonObject;
import com.scorpiomiku.oldpeoplehome.R;
import com.scorpiomiku.oldpeoplehome.base.BaseFragment;
import com.scorpiomiku.oldpeoplehome.utils.ChartUtils;
+import com.scorpiomiku.oldpeoplehome.utils.LogUtils;
+import com.scorpiomiku.oldpeoplehome.utils.TimeUtils;
+import java.io.IOException;
import java.util.ArrayList;
+import java.util.HashMap;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
+import okhttp3.Call;
+import okhttp3.Callback;
+import okhttp3.Response;
/**
* Created by ScorpioMiku on 2019/8/18.
@@ -34,9 +44,26 @@ public class EnvironmentFragment extends BaseFragment {
LineChart humidityChart;
Unbinder unbinder;
+ private String temperature;
+ private String humidity;
+ private Boolean first = true;
+
+ @SuppressLint("HandlerLeak")
@Override
protected Handler initHandle() {
- return null;
+ return new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ switch (msg.what) {
+ case 1:
+ temperatureText.setText(temperature);
+ humidityText.setText(humidity);
+ upWeather();
+ break;
+ }
+ }
+ };
}
@Override
@@ -52,6 +79,7 @@ public class EnvironmentFragment extends BaseFragment {
@Override
protected void initView() {
initChart();
+ getWeatherData();
}
@Override
@@ -89,4 +117,63 @@ public class EnvironmentFragment extends BaseFragment {
}
ChartUtils.initSingleLineChart(humidityChart, humidityValues, "近15天平均湿度", 0xFF01B67A);
}
+
+ /**
+ * 获取天气
+ */
+ private void getWeatherData() {
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ if (!first) {
+ try {
+ Thread.sleep(600000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ } else {
+ first = false;
+ }
+ getWebUtils().getWeather(new Callback() {
+ @Override
+ public void onFailure(Call call, IOException e) {
+ LogUtils.loge(e.getMessage());
+ }
+
+ @Override
+ public void onResponse(Call call, Response response) throws IOException {
+ JsonObject jsonObject = getWebUtils().getJsonObj(response);
+ jsonObject = getWebUtils().getJsonObj(jsonObject.get("result").toString());
+ temperature = jsonObject.get("temperature").toString();
+ humidity = String.valueOf(Float.valueOf(jsonObject.get("humidity").toString()) * 100);
+ handler.sendEmptyMessage(1);
+ }
+ });
+ }
+ }).start();
+ }
+
+ /**
+ * 上传天气数据
+ */
+ private void upWeather() {
+ data.clear();
+ data.put("roomId", "1");
+ data.put("time", TimeUtils.getTime());
+ data.put("temperature", temperature);
+ data.put("humidity", humidity);
+ data.put("isin", TimeUtils.getIsIn());
+ getWebUtils().upRoomState(data, new Callback() {
+ @Override
+ public void onFailure(Call call, IOException e) {
+ LogUtils.loge(e.getMessage());
+ }
+
+ @Override
+ public void onResponse(Call call, Response response) throws IOException {
+ LogUtils.logd("上传天气数据成功");
+ getWeatherData();
+ }
+ });
+ }
}
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 b613e1d..825b2cd 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
@@ -115,7 +115,6 @@ public class HeartRateFragment extends BaseFragment {
* @param heart
*/
public void changeText(String heart, String systolic, String diastolic, String oxy) {
-// LogUtils.loge(this.systolic.getText().toString() + ";" + systolic + ";" + (systolic.equals(this.systolic.getText().toString())));
if (systolic.equals(this.systolic.getText().toString())) {
if (!loading) {
progressBar.setVisibility(View.VISIBLE);
@@ -128,7 +127,7 @@ public class HeartRateFragment extends BaseFragment {
this.diastolic.setText(diastolic);
this.systolic.setText(systolic);
this.oxy.setText(oxy);
-
+ data.clear();
}
}
diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/TimeUtils.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/TimeUtils.java
index ded6d92..0c6273b 100644
--- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/TimeUtils.java
+++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/TimeUtils.java
@@ -3,7 +3,9 @@ package com.scorpiomiku.oldpeoplehome.utils;
import android.annotation.SuppressLint;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.Date;
+import java.util.TimeZone;
/**
* Created by ScorpioMiku on 2019/8/18.
@@ -12,7 +14,7 @@ import java.util.Date;
public class TimeUtils {
public static String getTime() {
@SuppressLint("SimpleDateFormat") SimpleDateFormat simpleDateFormat
- = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");// HH:mm:ss
+ = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// HH:mm:ss
//获取当前时间
Date date = new Date(System.currentTimeMillis());
return simpleDateFormat.format(date) + "";
@@ -52,7 +54,19 @@ public class TimeUtils {
} else {
t = t + ":" + sec;
}
-
return t;
}
+
+ /*
+ 是否有人
+ */
+ public static String getIsIn() {
+ Calendar calendars = Calendar.getInstance();
+ calendars.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
+ int hour = calendars.get(Calendar.HOUR_OF_DAY);
+ if (hour > 22 || hour < 8) {
+ return "0";
+ }
+ return "1";
+ }
}
diff --git a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/WebUtils.java b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/WebUtils.java
index fca9654..942bfd7 100644
--- a/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/WebUtils.java
+++ b/android/OldPeopleHome/app/src/main/java/com/scorpiomiku/oldpeoplehome/utils/WebUtils.java
@@ -1,5 +1,9 @@
package com.scorpiomiku.oldpeoplehome.utils;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+
+import java.io.IOException;
import java.util.HashMap;
import java.util.Set;
@@ -9,6 +13,7 @@ import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
+import okhttp3.Response;
import static com.scorpiomiku.oldpeoplehome.utils.StaticUtils.webHost;
@@ -53,6 +58,19 @@ public class WebUtils {
return requestBody;
}
+ public JsonObject getJsonObj(Response response) throws IOException {
+ String result = response.body().string();
+ JsonParser jsonParser = new JsonParser();
+ JsonObject jsonObject = (JsonObject) jsonParser.parse(result);
+ return jsonObject;
+ }
+
+ public JsonObject getJsonObj(String json) throws IOException {
+ JsonParser jsonParser = new JsonParser();
+ JsonObject jsonObject = (JsonObject) jsonParser.parse(json);
+ return jsonObject;
+ }
+
/**
* ~上传运动信息
*
@@ -65,4 +83,57 @@ public class WebUtils {
Call call = mClient.newCall(request);
call.enqueue(callback);
}
+
+ /**
+ * 上传心率等信息
+ *
+ * @param data
+ * @param callback
+ */
+ public void upHeartRates(HashMap data, Callback callback) {
+ Request request = new Request.Builder().post(postRequestBody(data))
+ .url(webHost + "/heartrate/add/").build();
+ Call call = mClient.newCall(request);
+ call.enqueue(callback);
+ }
+
+ /**
+ * 获取房间数据
+ *
+ * @param roomId
+ * @param callback
+ */
+ public void getRoomData(String roomId, Callback callback) {
+ Request request = new Request.Builder()
+ .url(webHost + "/rstate/get/" + roomId)
+ .build();
+ Call call = mClient.newCall(request);
+ call.enqueue(callback);
+ }
+
+ /**
+ * 获取天气信息
+ *
+ * @param callback
+ */
+ public void getWeather(Callback callback) {
+ Request request = new Request.Builder()
+ .url("https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/112.4450,38.0134/realtime.jsonp")
+ .build();
+ Call call = mClient.newCall(request);
+ call.enqueue(callback);
+ }
+
+ /**
+ * 上传房间环境数据
+ *
+ * @param hashMap
+ * @param callback
+ */
+ public void upRoomState(HashMap hashMap, Callback callback) {
+ Request request = new Request.Builder().post(getRequestBody(hashMap))
+ .url(webHost + "/rstate/add/").build();
+ Call call = mClient.newCall(request);
+ call.enqueue(callback);
+ }
}