From 957b8e9d4bc63524dad27c2f8458856da0bf5c06 Mon Sep 17 00:00:00 2001 From: 张海江 <181069201@qq.com> Date: Mon, 07 Aug 2017 13:20:28 +0800 Subject: [PATCH] 提交代码 --- app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 98 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java index 26b714f..c87006a 100644 --- a/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java +++ b/app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java @@ -11,12 +11,17 @@ import android.util.Log; import android.view.View; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.TextView; import com.clj.fastble.conn.BleCharacterCallback; import com.clj.fastble.exception.BleException; +import com.lzy.okgo.cache.CacheMode; +import com.moral.andbrickslib.utils.FastJsonTools; import com.moral.andbrickslib.utils.NumberUtils; import com.moral.andbrickslib.utils.StringUtils; +import com.moral.andbrickslib.utils.TimeUtil; +import com.moral.andbrickslib.utils.log.XLog; import com.moral.yunfushao.MainActivity; import com.moral.yunfushao.MainApp; import com.moral.yunfushao.R; @@ -25,8 +30,13 @@ import com.moral.yunfushao.base.BaseFragment; import com.moral.yunfushao.ble.BLECommon; import com.moral.yunfushao.ble.BluetoothService; +import com.moral.yunfushao.common.API; import com.moral.yunfushao.common.AppConfig; +import com.moral.yunfushao.httputils.HttpCallBack; +import com.moral.yunfushao.httputils.HttpUtils; import com.moral.yunfushao.model.EventMessage; +import com.moral.yunfushao.model.RecData; +import com.moral.yunfushao.model.UpLoadParam; import com.moral.yunfushao.ui.PanelView; import org.greenrobot.eventbus.EventBus; @@ -34,6 +44,7 @@ import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList; +import java.util.HashMap; import java.util.Timer; import java.util.TimerTask; @@ -43,15 +54,16 @@ */ public class FragmentMonitor extends BaseFragment { - private TextView tv_ljjl, tv_tishi, tv_desc,tv_shishi; + private LinearLayout ll_status; + private TextView tv_ljjl, tv_tishi, tv_desc,tv_shishi,tv_status; private PanelView pv; - private ImageView iv_his; + private ImageView iv_his,iv_status,iv_search; private BluetoothService mBluetoothService; private ArrayList<String> realResult = new ArrayList<>(); //������������ - private ArrayList<String> submitResult = new ArrayList<>(); + private ArrayList<RecData> submitResult = new ArrayList<>(); //������������������������ - private ArrayList<String> submitTempResult = new ArrayList<>(); + private ArrayList<RecData> submitTempResult = new ArrayList<>(); /** * ������ @@ -120,36 +132,48 @@ * 20������������5A������ 5B������ */ if (!TextUtils.isEmpty(nowResult) && nowResult.length() == 40 && nowResult.startsWith("5A") && nowResult.endsWith("5B")) { - submitResult.add(nowResult); + int shunshiValue = Integer.parseInt(nowResult.substring(24, 26), 16) * 256 + Integer.parseInt(nowResult.substring(26, 28), 16); int leijiValue = Integer.parseInt(nowResult.substring(28, 30), 16) * 1024 + Integer.parseInt(nowResult.substring(30, 32), 16) * 512 + Integer.parseInt(nowResult.substring(32, 34), 16) * 256 + Integer.parseInt(nowResult.substring(34, 36), 16); float level = shunshiValue / 10; -// mToatUtils.showSingletonToast("���������" + shunshiValue + "|���������" + leijiValue); - Log.d("haijiang", "���������" + shunshiValue + "|���������" + leijiValue); + XLog.d("���������" + shunshiValue + "|���������" + leijiValue); tv_ljjl.setText(NumberUtils.getBigDecimalValue(leijiValue*0.10,3) + ""); - tv_shishi.setText(NumberUtils.getBigDecimalValue((shunshiValue-45)/10.0*0.10,3) + ""); + double shishiValue = NumberUtils.getBigDecimalValue((shunshiValue-45)/10.0*0.10,3); + tv_shishi.setText(shishiValue + ""); + + /** + * ��������������������� + */ + RecData data = new RecData(); + data.setValue(shishiValue); + data.setTime(TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss")); + submitResult.add(data); + if (level >= 0 && level < 15) { pv.setPercent(level / 50); tv_tishi.setText("������������������"); tv_desc.setText("���������������������������\n������������������������������������������������"); + showStatus(true); } else if (level >= 15 && level < 26) { pv.setPercent(level / 50); tv_tishi.setText("������������������"); tv_desc.setText("���������������������������\n���������������������������������������������������"); + showStatus(true); } else if (level >= 26 && level < 65) { + showStatus(false); tv_tishi.setText("������������������"); tv_desc.setText("���������������������������\n���������������������������������������������������"); - if (level > 45) { + if (level <= 45) { pv.setPercent(level / 50); } else { pv.setPercent(0.9f); } } else if (level >= 65) { + showStatus(false); tv_tishi.setText("������������������"); tv_desc.setText("���������������������������\n���������������������������������������������������"); pv.setPercent(1.0f); } - realResult.clear(); } } @@ -168,6 +192,11 @@ }); } + }else if (msg.getType() == AppConfig.GET_BLE_DISCONNECT) { + pv.setStatusStr("���������"); + pv.setPercent(0); + tv_ljjl.setText("0"); + tv_shishi.setText("0"); } } @@ -201,17 +230,22 @@ tv_tishi = findView(R.id.tv_tishi); tv_desc = findView(R.id.tv_desc); tv_shishi = findView(R.id.tv_shishi); + tv_status = findView(R.id.tv_status); + iv_status = findView(R.id.iv_status); + ll_status = findView(R.id.ll_status); + iv_search = findView(R.id.iv_search); } @Override protected void initListener() { pv.setOnClickListener(this); iv_his.setOnClickListener(this); + iv_search.setOnClickListener(this); } @Override protected void initData() { - + doTask(); } @@ -229,6 +263,12 @@ case R.id.iv_his: intent = new Intent(getActivity(), ChartActivity.class); startActivity(intent); + break; + case R.id.iv_search: + if(mBluetoothService==null){ + return; + } + mBluetoothService.write(mBluetoothService.getWirteCharacteristic().getService().getUuid().toString(),mBluetoothService.getWirteCharacteristic().getUuid().toString(),"5A0014010001000000000000004600000000005B",null); break; } @@ -249,6 +289,7 @@ public void run() { if (!isFinish) { //������������ + submitData(); } } }, 0, 10000); @@ -258,7 +299,53 @@ //��������������������������� submitTempResult.addAll(submitResult); submitResult.clear(); + HashMap<String,String> params = new HashMap<>(); + if(submitTempResult.size()==0){ + return; + } + UpLoadParam up = new UpLoadParam(); + up.setUserid(MainApp.userId); + up.setAddress(MainApp.address); + up.setLat(MainApp.mLat); + up.setLon(MainApp.mLon); + up.setData(submitTempResult); + params.put("data", FastJsonTools.toJson(up)); + HttpUtils.doPost(API.UPLOAD, params, CacheMode.DEFAULT, false, new HttpCallBack() { + @Override + public void onSuccess(String res, String msg) { + XLog.d("@@@@@@@@@@@@@@@@@@@@@@@@@@"+msg); + submitTempResult.clear(); + } + + @Override + public void showLoadingDialog() { + + } + + @Override + public void onFail(int errno, String s) { + + } + }); } + + /** + * ������������������������������ + * @param safe + */ + private void showStatus(boolean safe){ + if(safe){ + iv_status.setImageResource(R.mipmap.icon_safe); + tv_status.setText("������"); + tv_status.setTextColor(getResources().getColor(R.color.green_txt)); + ll_status.setBackgroundResource(R.mipmap.bg_conner_green); + }else{ + iv_status.setImageResource(R.mipmap.icon_danger); + tv_status.setText("������"); + tv_status.setTextColor(getResources().getColor(R.color.red_txt)); + ll_status.setBackgroundResource(R.mipmap.bg_conner_red); + } + } } -- Gitblit v1.8.0