From b992fdbaefeed93da99310e17bda2bc4ab7db811 Mon Sep 17 00:00:00 2001 From: 张海江 <181069201@qq.com> Date: Mon, 14 Aug 2017 11:05:51 +0800 Subject: [PATCH] 提交代码 --- app/src/main/java/com/moral/yunfushao/fragment/FragmentMonitor.java | 129 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 112 insertions(+), 17 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..2b0d374 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,19 @@ }); } + }else if (msg.getType() == AppConfig.GET_BLE_DISCONNECT) { + pv.setStatusStr("���������"); + pv.setPercent(0); + tv_ljjl.setText("0"); + tv_shishi.setText("0"); + }else if(msg.getType() == AppConfig.CHANGE_SETTING){ + if(timer!=null){ + timer.cancel(); + timer = null; + } + submitTime = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency(); + isupLoad = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload(); + doTask(); } } @@ -201,18 +238,25 @@ 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); } - + int submitTime; + int isupLoad; @Override protected void initData() { - - + submitTime = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getRefresh_frequency(); + isupLoad = MainApp.theApp.sharedPreferencesUtil.getLoginInfo().getIs_open_upload(); + doTask(); } @Override @@ -230,6 +274,12 @@ 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(),BLECommon.BLE_SEARCH,null); + break; } } @@ -238,8 +288,6 @@ protected void onErrorPagerClick() { } - - private boolean isFinish = false; Timer timer; private void doTask() { @@ -247,18 +295,65 @@ timer.schedule(new TimerTask() { @Override public void run() { - if (!isFinish) { + if (isupLoad == 1) { //������������ + submitData(); } } - }, 0, 10000); + }, 0, submitTime*1000); } private void submitData() { //��������������������������� 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