From 487102118041896810e4657a37eaab43a8998bc5 Mon Sep 17 00:00:00 2001
From: haijiang <181069201@qq.com>
Date: Tue, 10 Jul 2018 10:51:09 +0800
Subject: [PATCH] 提交
---
app/libs/armeabi/libindoor.so | 0
app/libs/x86/libBaiduMapSDK_map_v5_1_0.so | 0
app/libs/armeabi-v7a/libindoor.so | 0
app/src/main/java/com/moral/screen/activity/ChartActivity.java | 267 ++++++++
app/src/main/res/mipmap-xxxhdpi/icon_yuan.png | 0
app/src/main/java/com/moral/screen/httputils/HttpUtils.java | 461 -------------
app/src/main/java/com/moral/screen/activity/DeviceDataActivity.java | 160 +++++
app/src/main/java/com/moral/screen/model/DeviceDataBean.java | 89 ++
app/src/main/res/mipmap-xxxhdpi/icon_white_jiantou.png | 0
app/src/main/res/layout/ac_login_layout.xml | 2
app/src/main/java/com/moral/screen/MainApp.java | 11
app/libs/armeabi-v7a/libBaiduMapSDK_base_v5_1_0.so | 0
app/build.gradle | 15
app/libs/armeabi/liblocSDK7b.so | 0
app/src/main/java/com/moral/screen/model/SensorData.java | 17
app/libs/BaiduLBS_Android.jar | 0
app/libs/x86_64/libBaiduMapSDK_map_v5_1_0.so | 0
app/src/main/res/mipmap-xxxhdpi/pro_kuang.png | 0
app/libs/arm64-v8a/liblocSDK7b.so | 0
app/src/main/java/com/moral/screen/model/DeviceBean.java | 143 ++++
app/src/main/res/mipmap-xxxhdpi/bg_chart.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_close.png | 0
app/libs/x86_64/libindoor.so | 0
app/libs/x86_64/liblocSDK7b.so | 0
app/src/main/res/layout/pop_layout.xml | 40 +
app/libs/x86/libBaiduMapSDK_base_v5_1_0.so | 0
app/src/main/res/layout/ac_charts_layout.xml | 53 +
app/libs/armeabi/libBaiduMapSDK_map_v5_1_0.so | 0
app/src/main/java/com/moral/screen/common/API.java | 7
app/src/main/res/mipmap-xxxhdpi/icon_level1.png | 0
app/src/main/res/layout/top_bar_layout.xml | 9
app/src/main/res/drawable/my_progress_background.xml | 18
app/src/main/res/mipmap-xxxhdpi/bg_map.png | 0
app/src/main/res/layout/ac_map_layout.xml | 49 +
app/src/main/res/values/colors.xml | 2
app/src/main/res/layout/list_item_data.xml | 46 +
app/src/main/res/mipmap-xxxhdpi/bg_data.png | 0
app/src/main/res/mipmap-xxxhdpi/icon_offline.png | 0
app/src/main/res/layout/ac_device_data_layout.xml | 51 +
app/libs/x86_64/libBaiduMapSDK_base_v5_1_0.so | 0
app/src/main/res/mipmap-xxxhdpi/icon_xia.png | 0
app/libs/armeabi-v7a/liblocSDK7b.so | 0
app/libs/x86/liblocSDK7b.so | 0
app/src/main/res/mipmap-xxxhdpi/icon_level3.png | 0
app/src/main/res/mipmap-xxxhdpi/bg_pop.png | 0
app/src/main/AndroidManifest.xml | 35 +
app/src/main/java/com/moral/screen/activity/MapActivity.java | 257 ++++++++
app/libs/arm64-v8a/libindoor.so | 0
app/libs/arm64-v8a/libBaiduMapSDK_base_v5_1_0.so | 0
app/libs/arm64-v8a/libBaiduMapSDK_map_v5_1_0.so | 0
app/src/main/java/com/moral/screen/utils/SharedPreferencesUtil.java | 45 +
app/src/main/res/mipmap-xxxhdpi/icon_normal.png | 0
app/src/main/java/com/moral/screen/adapter/DeviceDataAdapter.java | 40 +
app/src/main/res/mipmap-xxxhdpi/icon_level2.png | 0
app/libs/armeabi/libBaiduMapSDK_base_v5_1_0.so | 0
app/libs/x86/libindoor.so | 0
app/src/main/java/com/moral/screen/activity/LoginActivity.java | 79 ++
app/libs/armeabi-v7a/libBaiduMapSDK_map_v5_1_0.so | 0
58 files changed, 1,439 insertions(+), 457 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index a6cf203..e6261ea 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,6 +11,20 @@
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
+ signingConfigs {
+ // your debug keystore
+ debug {
+ keyAlias 'moral'
+ keyPassword 'moral123456'
+ storeFile file("C:\\Users\\Administrator\\Desktop\\key\\key.jks")
+ storePassword 'moral123456'
+ }
+ }
+ sourceSets {
+ main {
+ jniLibs.srcDir 'libs'
+ }
+ }
buildTypes {
release {
minifyEnabled false
@@ -36,4 +50,5 @@
compile('com.github.niorgai:StatusBarCompat:2.1.4', {
exclude group: 'com.android.support'
})
+ compile 'com.github.lecho:hellocharts-library:1.5.8@aar'
}
diff --git a/app/libs/BaiduLBS_Android.jar b/app/libs/BaiduLBS_Android.jar
new file mode 100644
index 0000000..2985ae3
--- /dev/null
+++ b/app/libs/BaiduLBS_Android.jar
Binary files differ
diff --git a/app/libs/arm64-v8a/libBaiduMapSDK_base_v5_1_0.so b/app/libs/arm64-v8a/libBaiduMapSDK_base_v5_1_0.so
new file mode 100644
index 0000000..4d7ea83
--- /dev/null
+++ b/app/libs/arm64-v8a/libBaiduMapSDK_base_v5_1_0.so
Binary files differ
diff --git a/app/libs/arm64-v8a/libBaiduMapSDK_map_v5_1_0.so b/app/libs/arm64-v8a/libBaiduMapSDK_map_v5_1_0.so
new file mode 100644
index 0000000..0bdae20
--- /dev/null
+++ b/app/libs/arm64-v8a/libBaiduMapSDK_map_v5_1_0.so
Binary files differ
diff --git a/app/libs/arm64-v8a/libindoor.so b/app/libs/arm64-v8a/libindoor.so
new file mode 100644
index 0000000..f8e8ca8
--- /dev/null
+++ b/app/libs/arm64-v8a/libindoor.so
Binary files differ
diff --git a/app/libs/arm64-v8a/liblocSDK7b.so b/app/libs/arm64-v8a/liblocSDK7b.so
new file mode 100644
index 0000000..6bab09a
--- /dev/null
+++ b/app/libs/arm64-v8a/liblocSDK7b.so
Binary files differ
diff --git a/app/libs/armeabi-v7a/libBaiduMapSDK_base_v5_1_0.so b/app/libs/armeabi-v7a/libBaiduMapSDK_base_v5_1_0.so
new file mode 100644
index 0000000..6366af7
--- /dev/null
+++ b/app/libs/armeabi-v7a/libBaiduMapSDK_base_v5_1_0.so
Binary files differ
diff --git a/app/libs/armeabi-v7a/libBaiduMapSDK_map_v5_1_0.so b/app/libs/armeabi-v7a/libBaiduMapSDK_map_v5_1_0.so
new file mode 100644
index 0000000..312c582
--- /dev/null
+++ b/app/libs/armeabi-v7a/libBaiduMapSDK_map_v5_1_0.so
Binary files differ
diff --git a/app/libs/armeabi-v7a/libindoor.so b/app/libs/armeabi-v7a/libindoor.so
new file mode 100644
index 0000000..177ad25
--- /dev/null
+++ b/app/libs/armeabi-v7a/libindoor.so
Binary files differ
diff --git a/app/libs/armeabi-v7a/liblocSDK7b.so b/app/libs/armeabi-v7a/liblocSDK7b.so
new file mode 100644
index 0000000..dd040ea
--- /dev/null
+++ b/app/libs/armeabi-v7a/liblocSDK7b.so
Binary files differ
diff --git a/app/libs/armeabi/libBaiduMapSDK_base_v5_1_0.so b/app/libs/armeabi/libBaiduMapSDK_base_v5_1_0.so
new file mode 100644
index 0000000..1496543
--- /dev/null
+++ b/app/libs/armeabi/libBaiduMapSDK_base_v5_1_0.so
Binary files differ
diff --git a/app/libs/armeabi/libBaiduMapSDK_map_v5_1_0.so b/app/libs/armeabi/libBaiduMapSDK_map_v5_1_0.so
new file mode 100644
index 0000000..83b3b84
--- /dev/null
+++ b/app/libs/armeabi/libBaiduMapSDK_map_v5_1_0.so
Binary files differ
diff --git a/app/libs/armeabi/libindoor.so b/app/libs/armeabi/libindoor.so
new file mode 100644
index 0000000..cd2a548
--- /dev/null
+++ b/app/libs/armeabi/libindoor.so
Binary files differ
diff --git a/app/libs/armeabi/liblocSDK7b.so b/app/libs/armeabi/liblocSDK7b.so
new file mode 100644
index 0000000..1a9a34a
--- /dev/null
+++ b/app/libs/armeabi/liblocSDK7b.so
Binary files differ
diff --git a/app/libs/x86/libBaiduMapSDK_base_v5_1_0.so b/app/libs/x86/libBaiduMapSDK_base_v5_1_0.so
new file mode 100644
index 0000000..a27743f
--- /dev/null
+++ b/app/libs/x86/libBaiduMapSDK_base_v5_1_0.so
Binary files differ
diff --git a/app/libs/x86/libBaiduMapSDK_map_v5_1_0.so b/app/libs/x86/libBaiduMapSDK_map_v5_1_0.so
new file mode 100644
index 0000000..234fa36
--- /dev/null
+++ b/app/libs/x86/libBaiduMapSDK_map_v5_1_0.so
Binary files differ
diff --git a/app/libs/x86/libindoor.so b/app/libs/x86/libindoor.so
new file mode 100644
index 0000000..14a6348
--- /dev/null
+++ b/app/libs/x86/libindoor.so
Binary files differ
diff --git a/app/libs/x86/liblocSDK7b.so b/app/libs/x86/liblocSDK7b.so
new file mode 100644
index 0000000..f25b6e9
--- /dev/null
+++ b/app/libs/x86/liblocSDK7b.so
Binary files differ
diff --git a/app/libs/x86_64/libBaiduMapSDK_base_v5_1_0.so b/app/libs/x86_64/libBaiduMapSDK_base_v5_1_0.so
new file mode 100644
index 0000000..f47dee5
--- /dev/null
+++ b/app/libs/x86_64/libBaiduMapSDK_base_v5_1_0.so
Binary files differ
diff --git a/app/libs/x86_64/libBaiduMapSDK_map_v5_1_0.so b/app/libs/x86_64/libBaiduMapSDK_map_v5_1_0.so
new file mode 100644
index 0000000..da894c8
--- /dev/null
+++ b/app/libs/x86_64/libBaiduMapSDK_map_v5_1_0.so
Binary files differ
diff --git a/app/libs/x86_64/libindoor.so b/app/libs/x86_64/libindoor.so
new file mode 100644
index 0000000..6c0e05e
--- /dev/null
+++ b/app/libs/x86_64/libindoor.so
Binary files differ
diff --git a/app/libs/x86_64/liblocSDK7b.so b/app/libs/x86_64/liblocSDK7b.so
new file mode 100644
index 0000000..4fda0cd
--- /dev/null
+++ b/app/libs/x86_64/liblocSDK7b.so
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f7ac9c1..161fdcc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,7 +2,24 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.moral.screen">
+
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+ //������������������������������������������������������������
<uses-permission android:name="android.permission.INTERNET"/>
+ //���������������������������������������������������������������
+ <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+ //���������������������������������������
+ <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
+ //���������������������������������������������������������������
+ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+ //������������������������������������������������������
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+ //������sd������������������������������������������������������������������
+ <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+ //������������������
+ <uses-permission android:name="android.permission.GET_TASKS" />
+ //���������������������������������������
+ <uses-permission android:name="android.permission.CAMERA" />
<application
android:name=".MainApp"
android:allowBackup="true"
@@ -10,14 +27,26 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
- tools:replace="android:icon"
- android:theme="@style/AppTheme">
- <activity android:name=".activity.LoginActivity">
+ android:theme="@style/AppTheme"
+ tools:replace="android:icon">
+ <activity android:name=".activity.LoginActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
+ <activity android:name=".activity.MapActivity" android:screenOrientation="portrait"/>
+ <activity android:name=".activity.DeviceDataActivity" android:screenOrientation="portrait"/>
+ <activity android:name=".activity.ChartActivity" android:screenOrientation="portrait"/>
+
+ <meta-data
+ android:name="com.baidu.lbsapi.API_KEY"
+ android:value="Pel4i0XKOQFmw3kO2awBV7uFI1Cb5BMm" />
+ <service
+ android:name="com.baidu.location.f"
+ android:enabled="true"
+ android:process=":remote" >
+ </service>
</application>
</manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/moral/screen/MainApp.java b/app/src/main/java/com/moral/screen/MainApp.java
index a887062..ddaa02e 100644
--- a/app/src/main/java/com/moral/screen/MainApp.java
+++ b/app/src/main/java/com/moral/screen/MainApp.java
@@ -3,10 +3,13 @@
import android.app.Application;
import android.content.Context;
import android.support.multidex.MultiDex;
+
+import com.baidu.mapapi.SDKInitializer;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.cookie.store.PersistentCookieStore;
import com.moral.andbrickslib.utils.ScreenUtils;
import com.moral.andbrickslib.utils.log.XLog;
+import com.moral.screen.utils.SharedPreferencesUtil;
/**
@@ -15,8 +18,9 @@
public class MainApp extends Application {
public static MainApp theApp;
+ public SharedPreferencesUtil mSharedPreferencesUtil;
//������id
- public int userId = 0;
+ public int orgId = 0;
public int width;
@Override
public void onCreate() {
@@ -24,8 +28,13 @@
this.theApp = this;
XLog.init("haijiang");
width = ScreenUtils.getScreenWidth(this);
+ if(mSharedPreferencesUtil==null){
+ mSharedPreferencesUtil = new SharedPreferencesUtil(this);
+ }
+ orgId = mSharedPreferencesUtil.getOrgId();
OkGo.init(this);
OkGo.getInstance().setCookieStore(new PersistentCookieStore());
+ SDKInitializer.initialize(getApplicationContext());
}
@Override
diff --git a/app/src/main/java/com/moral/screen/activity/ChartActivity.java b/app/src/main/java/com/moral/screen/activity/ChartActivity.java
new file mode 100644
index 0000000..10ffb36
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/activity/ChartActivity.java
@@ -0,0 +1,267 @@
+package com.moral.screen.activity;
+
+import android.app.AlertDialog;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.support.annotation.IdRes;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.Window;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.RadioGroup;
+import android.widget.TextView;
+
+import com.lzy.okgo.cache.CacheMode;
+import com.moral.andbrickslib.utils.FastJsonTools;
+import com.moral.andbrickslib.utils.NumberUtils;
+import com.moral.andbrickslib.utils.TimeUtil;
+import com.moral.screen.R;
+import com.moral.screen.base.BaseActivity;
+import com.moral.screen.common.API;
+import com.moral.screen.httputils.HttpCallBack;
+import com.moral.screen.model.SensorData;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
+
+import lecho.lib.hellocharts.formatter.AxisValueFormatter;
+import lecho.lib.hellocharts.formatter.LineChartValueFormatter;
+import lecho.lib.hellocharts.formatter.SimpleAxisValueFormatter;
+import lecho.lib.hellocharts.formatter.SimpleLineChartValueFormatter;
+import lecho.lib.hellocharts.gesture.ContainerScrollType;
+import lecho.lib.hellocharts.gesture.ZoomType;
+import lecho.lib.hellocharts.model.Axis;
+import lecho.lib.hellocharts.model.AxisValue;
+import lecho.lib.hellocharts.model.Line;
+import lecho.lib.hellocharts.model.LineChartData;
+import lecho.lib.hellocharts.model.PointValue;
+import lecho.lib.hellocharts.model.ValueShape;
+import lecho.lib.hellocharts.model.Viewport;
+import lecho.lib.hellocharts.view.LineChartView;
+
+/**
+ * Created by haijiang on 2017/7/13.
+ */
+
+public class ChartActivity extends BaseActivity {
+ private LineChartView chartView;
+ Line line;
+ LineChartData data;
+ Axis axisX;
+ Axis axisY;
+ private List<PointValue> mPointValues = new ArrayList<>();
+ private List<AxisValue> mAxisXValues = new ArrayList<>();
+
+ private TextView tv_sub;
+ private String sensorKey, mac, name, unit;
+ private float maxValue;
+
+ private Timer timer;
+
+ /**
+ * ���������
+ */
+ private boolean isFinish = false;
+ private void showChangeLineChart() {
+ timer = new Timer();
+ timer.schedule(new TimerTask() {
+ @Override
+ public void run() {
+ if(!isFinish){
+ getData(1,false);
+ }
+ }
+ },0,5*1000);
+ }
+ @Override
+ protected void getBundleExtras(Bundle extras) {
+ sensorKey = getIntent().getStringExtra("sensorKey");
+ mac = getIntent().getStringExtra("mac");
+ name = getIntent().getStringExtra("name");
+ unit = getIntent().getStringExtra("unit");
+ maxValue = getIntent().getFloatExtra("maxValue", 0);
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.ac_charts_layout;
+ }
+
+ @Override
+ protected void initViews() {
+ initTopBar();
+ tv_title.setText("������������");
+ tv_sub = findView(R.id.tv_sub);
+ tv_sub.setText(name + "���������������");
+ chartView = findView(R.id.chart);
+ initLineChart();
+ }
+
+ @Override
+ protected void initListener() {
+
+ }
+
+ @Override
+ protected void initData() {
+ getData(8,true);
+ showChangeLineChart();
+ }
+
+ @Override
+ protected void processClick(View view) {
+ switch (view.getId()) {
+ case R.id.tv_left:
+ finish();
+ break;
+ }
+
+ }
+
+ @Override
+ protected void onErrorPageClick() {
+
+ }
+
+ private void initLineChart() {
+ line = new Line(mPointValues).setColor(Color.parseColor("#ffffff")); //���������������
+ List<Line> lines = new ArrayList<>();
+ line.setShape(ValueShape.CIRCLE);//������������������������������������ ��������������� ������������ ���ValueShape.SQUARE ValueShape.CIRCLE ValueShape.DIAMOND���
+ line.setPointColor(Color.parseColor("#ffffff"));
+ line.setCubic(false);//���������������������������������������������
+ line.setFilled(false);//���������������������������
+ line.setHasLabels(true);//���������������������������������������
+// line.setHasLabelsOnlyForSelected(true);//������������������������������������������������line.setHasLabels(true);������������
+ line.setHasLines(true);//������������������������������false ������������������������������
+ line.setHasPoints(true);//������������������ ���������false ������������������������������������������������������������������������
+ LineChartValueFormatter chartValueFormatter = new SimpleLineChartValueFormatter(1);
+ line.setFormatter(chartValueFormatter);//���������������
+ lines.add(line);
+ data = new LineChartData();
+ data.setLines(lines);
+ data.setValueLabelBackgroundColor(Color.TRANSPARENT);//������������������������������������������
+ data.setValueLabelBackgroundEnabled(false);
+ data.setValueLabelsTextColor(Color.GRAY);
+
+ //���������
+ axisX = new Axis(); //X���
+ axisX.setHasTiltedLabels(true); //X���������������������������������������������true���������������
+ axisX.setName("������������"); //������������
+ axisX.setTextSize(8);//������������������
+ axisX.setTextColor(getResources().getColor(R.color.blue_txt));
+// axisX.setMaxLabelChars(7); //������������X���������������������������������������X���������������������7<=x<=mAxisXValues.length
+ axisX.setValues(mAxisXValues); //������X������������������
+ axisX.setHasLines(true); //x ������������
+ axisX.setLineColor(getResources().getColor(R.color.blue_txt));
+ axisX.setHasSeparationLine(true);
+ data.setAxisXBottom(axisX); //x ������������
+ //data.setAxisXTop(axisX); //x ������������
+
+ // Y���������������������������������������Y���������(���������������������������Y������������������������������)
+ axisY = Axis.generateAxisFromRange((float) 0.0, maxValue == 0 ? 100 : maxValue, maxValue == 0 ? 10 : maxValue / 16); //Y���
+// axisY = new Axis();
+ axisY.setAutoGenerated(false);
+ AxisValueFormatter yvalue = new SimpleAxisValueFormatter(1);
+ axisY.setFormatter(yvalue);
+ axisY.setHasLines(true);
+ axisY.setHasSeparationLine(true);
+ axisY.setName("���������" + unit);//y���������
+ axisY.setTextSize(10);//������������������
+ axisY.setTextColor(getResources().getColor(R.color.blue_txt));
+ axisY.setLineColor(getResources().getColor(R.color.blue_txt));
+ data.setAxisYLeft(axisY); //Y������������������
+
+ //������������������������������������������������������
+ chartView.setInteractive(true);
+ chartView.setZoomType(ZoomType.HORIZONTAL);
+ chartView.setMaxZoom((float) 2);//������������������
+ chartView.setContainerScrollEnabled(true, ContainerScrollType.HORIZONTAL);
+ chartView.setLineChartData(data);
+ chartView.setVisibility(View.VISIBLE);
+ /**���������������7���10���������������������������������������
+ * ���������������������X������������������������������http://forum.xda-developers.com/tools/programming/library-hellocharts-charting-library-t2904456/page2���;
+ */
+ final Viewport v = new Viewport(chartView.getMaximumViewport());
+ v.bottom = (float) 0.0;
+ v.top = maxValue;
+ chartView.setMaximumViewport(v);
+ chartView.setCurrentViewport(v);
+ }
+
+ private int index = 0;
+
+ private void reshowChart(final SensorData sensorData) {
+ chartView.post(new Runnable() {
+ @Override
+ public void run() {
+ mPointValues.add(new PointValue(index, sensorData.getValue()));
+ mAxisXValues.add(new AxisValue(index).setLabel(index + ""));
+ if(mPointValues.size()>8){
+ mPointValues.remove(0);
+ }
+ if(mAxisXValues.size()>8){
+ mAxisXValues.remove(0);
+ }
+ axisX.setValues(mAxisXValues);
+ data.setAxisXBottom(axisX);
+ line.setValues(mPointValues);
+ List<Line> lines = new ArrayList<Line>();
+ lines.add(line);
+ data.setLines(lines);
+ chartView.setLineChartData(data);
+ index++;
+ final Viewport v = new Viewport(chartView.getMaximumViewport());
+ v.bottom = (float) 0.0;
+ v.top = maxValue;
+ chartView.setMaximumViewport(v);
+ chartView.setCurrentViewport(v);
+ }
+ });
+ }
+
+ private ArrayList<SensorData> dataList = new ArrayList<>();
+
+ private void getData(int size,boolean show) {
+ HashMap<String, String> params = new HashMap<>();
+ params.put("sensorKey", sensorKey);
+ params.put("mac", mac);
+ params.put("size", size + "");
+ mHttpUtils.doGet(API.SENSOR, params, CacheMode.DEFAULT, show, new HttpCallBack() {
+ @Override
+ public void onSuccess(String res, String msg) {
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ ArrayList<SensorData> temp = (ArrayList<SensorData>) FastJsonTools.getArrayJson(res, SensorData.class);
+ if (temp != null) {
+ dataList.clear();
+ dataList.addAll(temp);
+ }
+ for (SensorData data:dataList){
+ reshowChart(data);
+ }
+ }
+
+ @Override
+ public void showLoadingDialog() {
+ progressDialog.show();
+ }
+
+ @Override
+ public void onFail(int errno, String s) {
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/moral/screen/activity/DeviceDataActivity.java b/app/src/main/java/com/moral/screen/activity/DeviceDataActivity.java
new file mode 100644
index 0000000..62cd718
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/activity/DeviceDataActivity.java
@@ -0,0 +1,160 @@
+package com.moral.screen.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.TextView;
+
+import com.baidu.mapapi.map.MapStatus;
+import com.baidu.mapapi.map.MapStatusUpdateFactory;
+import com.baidu.mapapi.model.LatLng;
+import com.lzy.okgo.cache.CacheMode;
+import com.moral.andbrickslib.baseadapter.recyclerview.MultiItemTypeAdapter;
+import com.moral.andbrickslib.utils.FastJsonTools;
+import com.moral.screen.MainApp;
+import com.moral.screen.R;
+import com.moral.screen.adapter.DeviceDataAdapter;
+import com.moral.screen.base.BaseActivity;
+import com.moral.screen.common.API;
+import com.moral.screen.httputils.HttpCallBack;
+import com.moral.screen.model.DeviceBean;
+import com.moral.screen.model.DeviceDataBean;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * Created by hjzhang on 2018/7/4.
+ */
+
+public class DeviceDataActivity extends BaseActivity {
+ private TextView tv_left;
+ private RecyclerView rv_data;
+ private DeviceDataAdapter adapter;
+ private ArrayList<DeviceDataBean> dataList = new ArrayList<>();
+ private int deviceVersionId,deviceId;
+ private String mac;
+ private Timer timer;
+ /**
+ * ���������
+ */
+ private boolean isFinish = false;
+ private void getDataForTime() {
+ timer = new Timer();
+ timer.schedule(new TimerTask() {
+ @Override
+ public void run() {
+ if(!isFinish){
+ getData(false);
+ }
+ }
+ },0,10*1000);
+ }
+ @Override
+ protected void getBundleExtras(Bundle extras) {
+ deviceVersionId = getIntent().getIntExtra("deviceVersionId",0);
+ deviceId = getIntent().getIntExtra("deviceId",0);
+ mac = getIntent().getStringExtra("mac");
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.ac_device_data_layout;
+ }
+
+ @Override
+ protected void initViews() {
+ tv_left = findView(R.id.tv_left);
+ rv_data = findView(R.id.rv_data);
+ adapter = new DeviceDataAdapter(rv_data,R.layout.list_item_data,dataList);
+ rv_data.setLayoutManager(new LinearLayoutManager(rv_data.getContext()));
+ rv_data.setAdapter(adapter);
+ adapter.setOnItemClickListener(new MultiItemTypeAdapter.OnItemClickListener() {
+ @Override
+ public void onItemClick(View view, RecyclerView.ViewHolder holder, int position) {
+ DeviceDataBean data = dataList.get(position);
+ Intent intent = new Intent(DeviceDataActivity.this,ChartActivity.class);
+ intent.putExtra("sensorKey",data.getSensor_key());
+ intent.putExtra("name",data.getDescription());
+ intent.putExtra("mac",mac);
+ intent.putExtra("maxValue",data.getUpper());
+ intent.putExtra("unit",data.getUnit());
+ startActivity(intent);
+ }
+
+ @Override
+ public boolean onItemLongClick(View view, RecyclerView.ViewHolder holder, int position) {
+ return false;
+ }
+ });
+ }
+
+ @Override
+ protected void initListener() {
+ tv_left.setOnClickListener(this);
+ }
+
+ @Override
+ protected void initData() {
+ getData(true);
+ getDataForTime();
+ }
+
+ @Override
+ protected void processClick(View view) {
+ switch (view.getId()){
+ case R.id.tv_left:
+ finish();
+ break;
+ }
+
+ }
+
+ @Override
+ protected void onErrorPageClick() {
+
+ }
+
+ private void getData(boolean show) {
+ HashMap<String, String> params = new HashMap<>();
+ params.put("deviceVersionId", deviceVersionId+"");
+ params.put("deviceId", deviceId+"");
+ params.put("mac", mac);
+ mHttpUtils.doGet(API.SENSORS, params, CacheMode.DEFAULT, show, new HttpCallBack() {
+ @Override
+ public void onSuccess(String res, String msg) {
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ ArrayList<DeviceDataBean> temp = (ArrayList<DeviceDataBean>) FastJsonTools.getArrayJson(res,DeviceDataBean.class);
+ if(temp!=null){
+ dataList.clear();
+ dataList.addAll(temp);
+ }
+ adapter.notifyDataSetChanged();
+ }
+
+ @Override
+ public void showLoadingDialog() {
+ progressDialog.setTitleText("������������������...");
+ progressDialog.show();
+ }
+
+ @Override
+ public void onFail(int errno, String s) {
+ mToatUtils.showSingletonToast(s);
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/java/com/moral/screen/activity/LoginActivity.java b/app/src/main/java/com/moral/screen/activity/LoginActivity.java
index 744600e..25c25e0 100644
--- a/app/src/main/java/com/moral/screen/activity/LoginActivity.java
+++ b/app/src/main/java/com/moral/screen/activity/LoginActivity.java
@@ -1,10 +1,24 @@
package com.moral.screen.activity;
+import android.content.Intent;
+import android.content.SearchRecentSuggestionsProvider;
import android.os.Bundle;
+import android.text.TextUtils;
import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import com.lzy.okgo.cache.CacheMode;
+import com.moral.screen.MainApp;
import com.moral.screen.R;
import com.moral.screen.base.BaseActivity;
+import com.moral.screen.common.API;
+import com.moral.screen.httputils.HttpCallBack;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.HashMap;
/**
* ������������
@@ -12,6 +26,9 @@
*/
public class LoginActivity extends BaseActivity {
+ private Button bt_sure;
+ private EditText et_phone, et_pwd;
+
@Override
protected void getBundleExtras(Bundle extras) {
@@ -24,11 +41,16 @@
@Override
protected void initViews() {
+ bt_sure = findView(R.id.bt_sure);
+ et_phone = findView(R.id.et_phone);
+ et_pwd = findView(R.id.et_pwd);
+ et_phone.setText("admin");
+ et_pwd.setText("123456");
}
@Override
protected void initListener() {
-
+ bt_sure.setOnClickListener(this);
}
@Override
@@ -38,6 +60,21 @@
@Override
protected void processClick(View view) {
+ switch (view.getId()) {
+ case R.id.bt_sure:
+ String phone = et_phone.getText().toString();
+ if (TextUtils.isEmpty(phone)) {
+ mToatUtils.showSingletonToast("���������������������");
+ return;
+ }
+ String password = et_pwd.getText().toString();
+ if (TextUtils.isEmpty(password)) {
+ mToatUtils.showSingletonToast("���������������");
+ return;
+ }
+ login(phone, password);
+ break;
+ }
}
@@ -45,4 +82,44 @@
protected void onErrorPageClick() {
}
+
+ private void login(String phone, String password) {
+ HashMap<String, String> params = new HashMap<>();
+ params.put("account", phone);
+ params.put("password", password);
+ mHttpUtils.doGet(API.LOGIN, params, CacheMode.DEFAULT, true, new HttpCallBack() {
+ @Override
+ public void onSuccess(String res, String msg) {
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ try {
+ JSONObject json = new JSONObject(res);
+ int organizationId = json.optInt("organizationId");
+ MainApp.theApp.orgId = organizationId;
+ MainApp.theApp.mSharedPreferencesUtil.saveOrgId(organizationId);
+ Intent intent = new Intent(LoginActivity.this, MapActivity.class);
+ startActivity(intent);
+ finish();
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ public void showLoadingDialog() {
+ progressDialog.setTitleText("������������...");
+ progressDialog.show();
+ }
+
+ @Override
+ public void onFail(int errno, String s) {
+ mToatUtils.showSingletonToast(s);
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ }
+ });
+
+ }
}
diff --git a/app/src/main/java/com/moral/screen/activity/MapActivity.java b/app/src/main/java/com/moral/screen/activity/MapActivity.java
new file mode 100644
index 0000000..9b48d09
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/activity/MapActivity.java
@@ -0,0 +1,257 @@
+package com.moral.screen.activity;
+
+import android.content.Intent;
+import android.graphics.Point;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.baidu.mapapi.map.BaiduMap;
+import com.baidu.mapapi.map.BitmapDescriptor;
+import com.baidu.mapapi.map.BitmapDescriptorFactory;
+import com.baidu.mapapi.map.InfoWindow;
+import com.baidu.mapapi.map.MapStatus;
+import com.baidu.mapapi.map.MapStatusUpdateFactory;
+import com.baidu.mapapi.map.MapView;
+import com.baidu.mapapi.map.Marker;
+import com.baidu.mapapi.map.MarkerOptions;
+import com.baidu.mapapi.model.LatLng;
+import com.lzy.okgo.cache.CacheMode;
+import com.moral.andbrickslib.utils.FastJsonTools;
+import com.moral.screen.MainApp;
+import com.moral.screen.common.API;
+import com.moral.screen.httputils.HttpCallBack;
+import com.moral.screen.model.DeviceBean;
+import com.moral.screen.R;
+import com.moral.screen.base.BaseActivity;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * Created by hjzhang on 2018/7/2.
+ */
+
+public class MapActivity extends BaseActivity {
+ private TextView tv_left;
+ private MapView bmapView;
+ private BaiduMap mBaiduMap;
+ BitmapDescriptor bdNormal = BitmapDescriptorFactory
+ .fromResource(R.mipmap.icon_normal);
+ BitmapDescriptor bdA = BitmapDescriptorFactory
+ .fromResource(R.mipmap.icon_level1);
+ BitmapDescriptor bdB = BitmapDescriptorFactory
+ .fromResource(R.mipmap.icon_level2);
+ BitmapDescriptor bdC = BitmapDescriptorFactory
+ .fromResource(R.mipmap.icon_level3);
+ BitmapDescriptor bdOffline = BitmapDescriptorFactory
+ .fromResource(R.mipmap.icon_offline);
+ private ArrayList<Marker> mkList = new ArrayList<>();
+ private ArrayList<DeviceBean> deviceList = new ArrayList<>();
+ private View popView;
+ private TextView tv_name,tv_address;
+ private ImageView iv_close;
+ private LinearLayout ll_pop;
+ private DeviceBean curDeviceBean;
+ @Override
+ protected void getBundleExtras(Bundle extras) {
+
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.ac_map_layout;
+ }
+
+ @Override
+ protected void initViews() {
+ tv_left = findView(R.id.tv_left);
+ bmapView = findView(R.id.bmapView);
+ popView = LayoutInflater.from(this).inflate(R.layout.pop_layout,null);
+ tv_name = popView.findViewById(R.id.tv_name);
+ tv_address = popView.findViewById(R.id.tv_address);
+ iv_close = popView.findViewById(R.id.iv_close);
+ ll_pop = popView.findViewById(R.id.ll_pop);
+ initMap();
+ }
+
+ @Override
+ protected void initListener() {
+ tv_left.setOnClickListener(this);
+ iv_close.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ mBaiduMap.hideInfoWindow();
+ }
+ });
+ ll_pop.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if("4".equals(curDeviceBean.getState())){
+ mToatUtils.showSingletonToast("������������������������...");
+ return;
+ }
+ Intent intent = new Intent(MapActivity.this,DeviceDataActivity.class);
+ intent.putExtra("deviceVersionId",curDeviceBean.getDeviceVersionId());
+ intent.putExtra("mac",curDeviceBean.getMac());
+ intent.putExtra("deviceId",curDeviceBean.getId());
+ startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ protected void initData() {
+ getData();
+ }
+
+ @Override
+ protected void processClick(View view) {
+ switch (view.getId()){
+ case R.id.tv_left:
+ finish();
+ break;
+ }
+
+ }
+
+ @Override
+ protected void onErrorPageClick() {
+
+ }
+
+ private void initMap(){
+ mBaiduMap = bmapView.getMap();
+ // ������������������
+ mBaiduMap.setMyLocationEnabled(true);
+
+ mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
+ public boolean onMarkerClick(final Marker marker) {
+ if (marker != null) {
+ curDeviceBean = deviceList.get(marker.getZIndex());
+ tv_address.setText("���������"+curDeviceBean.getAddress());
+ tv_name.setText(curDeviceBean.getName());
+ final LatLng ll = marker.getPosition();
+ InfoWindow mInfoWindow;
+ Point p = mBaiduMap.getProjection().toScreenLocation(ll);
+ p.y -= 47;
+ LatLng llInfo = mBaiduMap.getProjection().fromScreenLocation(p);
+ //������������InfoWindow������������������
+ mInfoWindow = new InfoWindow(popView,llInfo,0);
+ mBaiduMap.showInfoWindow(mInfoWindow);
+ }
+ return true;
+ }
+ });
+ }
+
+ /**
+ * ������������
+ */
+ private void showMapData(){
+ mBaiduMap.clear();
+ MarkerOptions mo = null;
+ Marker mMarker = null;
+ LatLng ll = null;
+ for (int i = 0; i < deviceList.size(); i++) {
+ DeviceBean bean = deviceList.get(i);
+ double lat = bean.getLatitude();
+ double lon = bean.getLongitude();
+ ll = new LatLng(lat, lon);
+// 0 ������
+// 1 ������������
+// 2 ������������
+// 3 ������������
+// 4 ������
+ if ("0".equals(bean.getState())) {
+ mo = new MarkerOptions().position(ll).icon(bdNormal)
+ .zIndex(i);
+ } else if ("1".equals(bean.getState())) {
+ mo = new MarkerOptions().position(ll).icon(bdA)
+ .zIndex(i);
+ } else if ("2".equals(bean.getState())) {
+ mo = new MarkerOptions().position(ll).icon(bdB)
+ .zIndex(i);
+ }else if ("3".equals(bean.getState())) {
+ mo = new MarkerOptions().position(ll).icon(bdC)
+ .zIndex(i);
+ }else if ("4".equals(bean.getState())) {
+ mo = new MarkerOptions().position(ll).icon(bdOffline)
+ .zIndex(i);
+ }
+ // ������������
+ mo.animateType(MarkerOptions.MarkerAnimateType.drop);
+ mMarker = (Marker) (mBaiduMap.addOverlay(mo));
+ mkList.add(mMarker);
+ }
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ bmapView.onResume();
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ bmapView.onPause();
+ }
+
+ @Override
+ public void onDestroy() {
+ bdNormal.recycle();
+ bdOffline.recycle();
+ bdA.recycle();
+ bdB.recycle();
+ bdC.recycle();
+ super.onDestroy();
+ bmapView.onDestroy();
+ }
+
+ private void getData() {
+ HashMap<String, String> params = new HashMap<>();
+ params.put("organizationId", MainApp.theApp.orgId+"");
+ mHttpUtils.doGet(API.DEVICES, params, CacheMode.DEFAULT, true, new HttpCallBack() {
+ @Override
+ public void onSuccess(String res, String msg) {
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ ArrayList<DeviceBean> temp = (ArrayList<DeviceBean>) FastJsonTools.getArrayJson(res,DeviceBean.class);
+ if(temp!=null){
+ deviceList.clear();
+ deviceList.addAll(temp);
+ }
+ if(deviceList.size()>0){
+ DeviceBean bean = deviceList.get(0);
+ LatLng ll = new LatLng(bean.getLatitude(),
+ bean.getLongitude());
+ MapStatus.Builder builder = new MapStatus.Builder();
+ builder.target(ll).zoom(18.0f);
+ mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
+ }
+ showMapData();
+ }
+
+ @Override
+ public void showLoadingDialog() {
+ progressDialog.setTitleText("������������������...");
+ progressDialog.show();
+ }
+
+ @Override
+ public void onFail(int errno, String s) {
+ mToatUtils.showSingletonToast(s);
+ if (progressDialog.isShowing()) {
+ progressDialog.dismiss();
+ }
+ }
+ });
+
+ }
+}
diff --git a/app/src/main/java/com/moral/screen/adapter/DeviceDataAdapter.java b/app/src/main/java/com/moral/screen/adapter/DeviceDataAdapter.java
new file mode 100644
index 0000000..10a93c1
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/adapter/DeviceDataAdapter.java
@@ -0,0 +1,40 @@
+package com.moral.screen.adapter;
+
+import android.annotation.TargetApi;
+import android.os.Build;
+import android.support.v7.widget.RecyclerView;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+
+import com.moral.andbrickslib.baseadapter.recyclerview.CommonAdapter;
+import com.moral.andbrickslib.baseadapter.recyclerview.base.ViewHolder;
+import com.moral.screen.R;
+import com.moral.screen.model.DeviceBean;
+import com.moral.screen.model.DeviceDataBean;
+
+import java.util.List;
+
+/**
+ * Created by hjzhang on 2018/7/4.
+ */
+
+public class DeviceDataAdapter extends CommonAdapter<DeviceDataBean> {
+ public DeviceDataAdapter(RecyclerView v, int layoutId, List<DeviceDataBean> datas) {
+ super(v, layoutId, datas);
+ }
+ @Override
+ protected void convert(ViewHolder holder, DeviceDataBean item, int position) {
+ TextView tv_name = holder.getView(R.id.tv_name);
+ TextView tv_unit = holder.getView(R.id.tv_unit);
+ ProgressBar progressBar = holder.getView(R.id.progressBar);
+ tv_name.setText(item.getDescription());
+ tv_unit.setText(item.getValue()+" ("+item.getUnit()+")");
+ float barIndex = 0;
+ try {
+ barIndex = (Math.abs(item.getValue()) /item.getUpper());
+ }catch (Exception e){
+ }finally {
+ progressBar.setProgress((int) (barIndex*100));
+ }
+ }
+}
diff --git a/app/src/main/java/com/moral/screen/common/API.java b/app/src/main/java/com/moral/screen/common/API.java
index 6672de4..51a40a2 100644
--- a/app/src/main/java/com/moral/screen/common/API.java
+++ b/app/src/main/java/com/moral/screen/common/API.java
@@ -5,7 +5,10 @@
*/
public class API {
- public static final String BASE_HTTP = "http://dcdev3.s1.natapp.cc/bronzecoll/";
- public static final String URL_HTTP = BASE_HTTP+"api/";
+ public static final String BASE_HTTP = "http://192.168.1.101:8090/screen_api_v2";
+ public static final String LOGIN = BASE_HTTP+"/mobile/login";
+ public static final String DEVICES = BASE_HTTP+"/mobile/devices";
+ public static final String SENSORS = BASE_HTTP+"/mobile/sensors";
+ public static final String SENSOR = BASE_HTTP+"/mobile/sensor";
}
diff --git a/app/src/main/java/com/moral/screen/httputils/HttpUtils.java b/app/src/main/java/com/moral/screen/httputils/HttpUtils.java
index a8101e8..b608556 100644
--- a/app/src/main/java/com/moral/screen/httputils/HttpUtils.java
+++ b/app/src/main/java/com/moral/screen/httputils/HttpUtils.java
@@ -28,19 +28,21 @@
public class HttpUtils {
private Context mConetext;
+
public HttpUtils(Context context) {
this.mConetext = context;
}
/**
* Get������
+ *
* @param url
* @param params
* @param cacheMode
* @param showLoadingDialog
* @param httpCallBack
*/
- public void doGet(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
+ public void doGet(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
OkGo.get(url)
.params(params)
.cacheKey(String.valueOf(url))
@@ -62,102 +64,13 @@
XLog.e("result:" + s);
try {
JSONObject jsonObject = new JSONObject(s);
- int errno = jsonObject.optInt("resultCode");
- String message = jsonObject.optString("msg");
- if(errno == 1){
- httpCallBack.onSuccess(jsonObject.optString("resObj"),message);
- }else if(errno == 1002||errno == 1003){
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
- }else{
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- if (response != null) {
- int httpCode = response.code();
- switch (httpCode) {
- case 400:
- XLog.e("���������������������");
- T.show("���������������������");
- break;
- case 401:
- XLog.e("���������");
- T.show("���������");
- break;
- case 403:
- XLog.e("���������������");
- T.show("���������������");
- break;
- case 404:
- XLog.e("������������������������");
- T.show("������������������������");
- break;
- case 408:
- XLog.e("������������");
- T.show("������������");
- break;
- case 500:
- XLog.e("���������������");
- T.show("���������������");
- break;
- case 503:
- XLog.e("������������������������������");
- T.show("������������������������������");
- break;
- }
- }
- }
- });
- }
- /**
- * Get������
- * @param url
- * @param params
- * @param cacheMode
- * @param showLoadingDialog
- * @param httpCallBack
- */
- public void doGet(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpListCallBack httpCallBack) {
- OkGo.get(url)
- .params(params)
- .cacheKey(String.valueOf(url))
- .tag(String.valueOf(url))
- .cacheMode(cacheMode)
- .execute(new StringCallback() {
- @Override
- public void onBefore(BaseRequest request) {
- super.onBefore(request);
- XLog.e("url:" + request.getUrl());
- XLog.e("method:" + request.getMethod());
- XLog.e("params:" + request.getParams().toString());
- if (showLoadingDialog)
- httpCallBack.showLoadingDialog();
- }
-
- @Override
- public void onSuccess(String s, Call call, Response response) {
- XLog.e("result:" + s);
- try {
- JSONObject jsonObject = new JSONObject(s);
- int errno = jsonObject.optInt("resultCode");
- String message = jsonObject.optString("msg");
- int totalPage = jsonObject.optInt("totalPage");
- if(errno == 1){
- httpCallBack.onSuccess(jsonObject.optString("resObj"),message,totalPage);
- }else if(errno == 1002||errno == 1003){
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
- }else{
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
+ int errno = jsonObject.optInt("code");
+ String message = jsonObject.optString("message");
+ if (errno == 1) {
+ httpCallBack.onSuccess(jsonObject.optString("data"), message);
+ } else {
+ String errorMsg = jsonObject.optString("message");
+ httpCallBack.onFail(errno, errorMsg);
}
} catch (JSONException e) {
e.printStackTrace();
@@ -204,101 +117,7 @@
});
}
- /**
- * POST������
- * @param url
- * @param params
- * @param cacheMode
- * @param showLoadingDialog
- * @param httpCallBack
- */
- public void doPostList(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpListCallBack httpCallBack) {
- OkGo.post(url)
- .params(params)
- .cacheKey(String.valueOf(url))
- .tag(String.valueOf(url))
- .cacheMode(cacheMode)
- .execute(new StringCallback() {
- @Override
- public void onBefore(BaseRequest request) {
- super.onBefore(request);
- XLog.e("url:" + request.getUrl());
- XLog.e("method:" + request.getMethod());
- XLog.e("params:" + request.getParams().toString());
- if (showLoadingDialog)
- httpCallBack.showLoadingDialog();
- }
-
- @Override
- public void onSuccess(String s, Call call, Response response) {
- XLog.e("result:" + s);
- try {
- JSONObject jsonObject = new JSONObject(s);
- int errno = jsonObject.optInt("resultCode");
- String message = jsonObject.optString("msg");
- int totalPage = jsonObject.optInt("totalPage");
- if(errno == 1){
- httpCallBack.onSuccess(jsonObject.optString("resObj"),message,totalPage);
- }else if(errno == 1002||errno == 1003){
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
- }else{
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- if (response != null) {
- int httpCode = response.code();
- switch (httpCode) {
- case 400:
- XLog.e("���������������������");
- T.show("���������������������");
- break;
- case 401:
- XLog.e("���������");
- T.show("���������");
- break;
- case 403:
- XLog.e("���������������");
- T.show("���������������");
- break;
- case 404:
- XLog.e("������������������������");
- T.show("������������������������");
- break;
- case 408:
- XLog.e("������������");
- T.show("������������");
- break;
- case 500:
- XLog.e("���������������");
- T.show("���������������");
- break;
- case 503:
- XLog.e("������������������������������");
- T.show("������������������������������");
- break;
- }
- }
- }
- });
- }
- /**
- * Post������
- * @param url
- * @param params
- * @param cacheMode
- * @param showLoadingDialog
- * @param httpCallBack
- */
- public void doPost(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
+ public void doPost(final String url, Map<String, String> params, CacheMode cacheMode, final boolean showLoadingDialog, final HttpCallBack httpCallBack) {
OkGo.post(url)
.cacheKey(String.valueOf(url))
.tag(String.valueOf(url))
@@ -320,16 +139,13 @@
XLog.e("result:" + s);
try {
JSONObject jsonObject = new JSONObject(s);
- int errno = jsonObject.optInt("resultCode");
- String message = jsonObject.optString("msg");
- if(errno == 1){
- httpCallBack.onSuccess(jsonObject.optString("resObj"),message);
- }else if(errno == 1002||errno == 1003){
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
- }else{
- String errorMsg = jsonObject.optString("errorMsg");
- httpCallBack.onFail(errno,errorMsg);
+ int errno = jsonObject.optInt("code");
+ String message = jsonObject.optString("message");
+ if (errno == 1) {
+ httpCallBack.onSuccess(jsonObject.optString("data"), message);
+ } else {
+ String errorMsg = jsonObject.optString("message");
+ httpCallBack.onFail(errno, errorMsg);
}
} catch (JSONException e) {
e.printStackTrace();
@@ -367,247 +183,6 @@
break;
}
}
-
-
});
- }
-
- /**
- * ������������
- * @param url
- * @param params
- * @param uploadCallBack
- * @param files
- */
- public void uploadFiles(final String url, Map<String, String> params, final UploadCallBack uploadCallBack, List<File> files) {
- OkGo.post(url)
- .params(params)
- .isMultipart(true)
- .addFileParams("file", files)
- .execute(new StringCallback() {
- @Override
- public void onBefore(BaseRequest request) {
- super.onBefore(request);
- PostRequest re = (PostRequest) request;
- XLog.e("url:" + re.getUrl());
- XLog.e("method:" + re.getMethod());
- }
-
- @Override
- public void onSuccess(String s, Call call, Response response) {
- XLog.e("result:" + s);
- try {
- JSONObject jsonObject = new JSONObject(s);
- int errno = jsonObject.optInt("resultCode");
- String message = jsonObject.optString("msg");
- if(errno == 1){
- uploadCallBack.onSuccess(jsonObject.optString("resObj"),message);
- }else{
- uploadCallBack.onFail(message);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void upProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
- super.upProgress(currentSize, totalSize, progress, networkSpeed);
- uploadCallBack.onProgress(currentSize, totalSize, progress, networkSpeed);
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- if (response == null)
- return;
- int httpCode = response.code();
- switch (httpCode) {
- case 400:
- T.show("���������������������");
- break;
- case 401:
- T.show("���������");
- break;
- case 403:
- T.show("���������������");
- break;
- case 404:
- T.show("������������������������");
- break;
- case 408:
- T.show("������������");
- break;
- case 500:
- T.show("���������������");
- break;
- case 503:
- T.show("������������������������������");
- break;
- }
- }
-
- });
-
- }
- public void uploadFiles(final String url, Map<String, String> params, final UploadCallBack uploadCallBack, List<File> files,List<File> files2) {
- OkGo.post(url)
- .params(params)
- .isMultipart(true)
- .addFileParams("door", files)
- .addFileParams("images", files2)
- .execute(new StringCallback() {
- @Override
- public void onBefore(BaseRequest request) {
- super.onBefore(request);
- PostRequest re = (PostRequest) request;
- XLog.e("url:" + re.getUrl());
- XLog.e("method:" + re.getMethod());
- }
-
- @Override
- public void onSuccess(String s, Call call, Response response) {
- XLog.e("result:" + s);
- try {
- JSONObject jsonObject = new JSONObject(s);
- int errno = jsonObject.optInt("resultCode");
- String message = jsonObject.optString("msg");
- if(errno == 1){
- uploadCallBack.onSuccess(jsonObject.optString("resObj"),message);
- }else{
- uploadCallBack.onFail(message);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void upProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
- super.upProgress(currentSize, totalSize, progress, networkSpeed);
- uploadCallBack.onProgress(currentSize, totalSize, progress, networkSpeed);
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- if (response == null)
- return;
- int httpCode = response.code();
- switch (httpCode) {
- case 400:
- T.show("���������������������");
- break;
- case 401:
- T.show("���������");
- break;
- case 403:
- T.show("���������������");
- break;
- case 404:
- T.show("������������������������");
- break;
- case 408:
- T.show("������������");
- break;
- case 500:
- T.show("���������������");
- break;
- case 503:
- T.show("������������������������������");
- break;
- }
- }
-
- });
-
- }
- /**
- * ������������
- * @param url
- * @param params
- * @param uploadCallBack
- * @param files
- */
- public void uploadFiles(final String url, Map<String, String> params, final UploadCallBack uploadCallBack, Map<String, File> files) {
- PostRequest postRequest = OkGo.post(url);
- postRequest.isMultipart(true);
- for (String key : files.keySet()) {
- postRequest.params(key, files.get(key));
- }
- postRequest.params(params)
- .execute(new StringCallback() {
- @Override
- public void onBefore(BaseRequest request) {
- super.onBefore(request);
- PostRequest re = (PostRequest) request;
- XLog.e("url:" + re.getUrl());
- XLog.e("method:" + re.getMethod());
- }
-
- @Override
- public void onSuccess(String s, Call call, Response response) {
- XLog.e("result:" + s);
- try {
- JSONObject jsonObject = new JSONObject(s);
- int errno = jsonObject.optInt("resultCode");
- String message = jsonObject.optString("msg");
- if(errno == 1){
- uploadCallBack.onSuccess(jsonObject.optString("resObj"),message);
- }else{
- uploadCallBack.onFail(message);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void upProgress(long currentSize, long totalSize, float progress, long networkSpeed) {
- super.upProgress(currentSize, totalSize, progress, networkSpeed);
- uploadCallBack.onProgress(currentSize, totalSize, progress, networkSpeed);
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- if (response == null)
- return;
- int httpCode = response.code();
- switch (httpCode) {
- case 400:
- T.show("���������������������");
- break;
- case 401:
- T.show("���������");
- break;
- case 403:
- T.show("���������������");
- break;
- case 404:
- T.show("������������������������");
- break;
- case 408:
- T.show("������������");
- break;
- case 500:
- T.show("���������������");
- break;
- case 503:
- T.show("������������������������������");
- break;
- }
- }
-
- });
-
- }
-
- public interface UploadCallBack {
- void onSuccess(String res, String msg);
-
- void onFail(String s);
-
- void onProgress(long currentSize, long totalSize, float progress, long networkSpeed);
}
}
diff --git a/app/src/main/java/com/moral/screen/model/DeviceBean.java b/app/src/main/java/com/moral/screen/model/DeviceBean.java
new file mode 100644
index 0000000..8e2ce60
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/model/DeviceBean.java
@@ -0,0 +1,143 @@
+package com.moral.screen.model;
+
+/**
+ * Created by hjzhang on 2018/7/4.
+ */
+
+public class DeviceBean {
+ private int id;
+ private String name;
+ private String address;
+ private double longitude;
+ private double latitude;
+ private String mac;
+ private int operateUserId;
+ private String state;
+ private long createTime;
+ private String installTime;
+ private int monitorPointId;
+ private int deviceVersionId;
+ private String isDelete;
+ private int professionId;
+ private String device_name;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public double getLongitude() {
+ return longitude;
+ }
+
+ public void setLongitude(double longitude) {
+ this.longitude = longitude;
+ }
+
+ public double getLatitude() {
+ return latitude;
+ }
+
+ public void setLatitude(double latitude) {
+ this.latitude = latitude;
+ }
+
+ public String getMac() {
+ return mac;
+ }
+
+ public void setMac(String mac) {
+ this.mac = mac;
+ }
+
+ public int getOperateUserId() {
+ return operateUserId;
+ }
+
+ public void setOperateUserId(int operateUserId) {
+ this.operateUserId = operateUserId;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public long getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(long createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getInstallTime() {
+ return installTime;
+ }
+
+ public void setInstallTime(String installTime) {
+ this.installTime = installTime;
+ }
+
+ public int getMonitorPointId() {
+ return monitorPointId;
+ }
+
+ public void setMonitorPointId(int monitorPointId) {
+ this.monitorPointId = monitorPointId;
+ }
+
+ public int getDeviceVersionId() {
+ return deviceVersionId;
+ }
+
+ public void setDeviceVersionId(int deviceVersionId) {
+ this.deviceVersionId = deviceVersionId;
+ }
+
+ public String getIsDelete() {
+ return isDelete;
+ }
+
+ public void setIsDelete(String isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ public int getProfessionId() {
+ return professionId;
+ }
+
+ public void setProfessionId(int professionId) {
+ this.professionId = professionId;
+ }
+
+ public String getDevice_name() {
+ return device_name;
+ }
+
+ public void setDevice_name(String device_name) {
+ this.device_name = device_name;
+ }
+}
diff --git a/app/src/main/java/com/moral/screen/model/DeviceDataBean.java b/app/src/main/java/com/moral/screen/model/DeviceDataBean.java
new file mode 100644
index 0000000..749d046
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/model/DeviceDataBean.java
@@ -0,0 +1,89 @@
+package com.moral.screen.model;
+
+/**
+ * Created by hjzhang on 2018/7/4.
+ */
+
+public class DeviceDataBean {
+ private String sensor_key;
+ private String unit;
+ private float upper;
+ private float lower;
+ private String name;
+ private String description;
+ private int id;
+ private String state;
+ private float value;
+
+ public String getSensor_key() {
+ return sensor_key;
+ }
+
+ public void setSensor_key(String sensor_key) {
+ this.sensor_key = sensor_key;
+ }
+
+ public String getUnit() {
+ return unit;
+ }
+
+ public void setUnit(String unit) {
+ this.unit = unit;
+ }
+
+ public float getUpper() {
+ return upper;
+ }
+
+ public void setUpper(float upper) {
+ this.upper = upper;
+ }
+
+ public float getLower() {
+ return lower;
+ }
+
+ public void setLower(float lower) {
+ this.lower = lower;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public float getValue() {
+ return value;
+ }
+
+ public void setValue(float value) {
+ this.value = value;
+ }
+}
diff --git a/app/src/main/java/com/moral/screen/model/SensorData.java b/app/src/main/java/com/moral/screen/model/SensorData.java
new file mode 100644
index 0000000..5fd194e
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/model/SensorData.java
@@ -0,0 +1,17 @@
+package com.moral.screen.model;
+
+/**
+ * Created by hjzhang on 2018/7/10.
+ */
+
+public class SensorData {
+ private float value;
+
+ public float getValue() {
+ return value;
+ }
+
+ public void setValue(float value) {
+ this.value = value;
+ }
+}
diff --git a/app/src/main/java/com/moral/screen/utils/SharedPreferencesUtil.java b/app/src/main/java/com/moral/screen/utils/SharedPreferencesUtil.java
new file mode 100644
index 0000000..baecb37
--- /dev/null
+++ b/app/src/main/java/com/moral/screen/utils/SharedPreferencesUtil.java
@@ -0,0 +1,45 @@
+package com.moral.screen.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
+public class SharedPreferencesUtil {
+ private Context mContext;
+ public final static String SP_LOGIN_USER_KEY = "login_user";
+ public SharedPreferencesUtil(Context context) {
+ this.mContext = context;
+ }
+
+ public void saveOrgId(int orgId){
+ SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE);
+ Editor editor = preferences.edit();
+ editor.putInt("orgId",orgId);
+ editor.commit();
+ }
+
+ public int getOrgId(){
+ SharedPreferences sp = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE);
+ int orgId = sp.getInt("orgId",0);
+ return orgId;
+ }
+
+
+ /**
+ * ���������������������������
+ * @param flag
+ */
+ public void saveFirstUse(int flag) {
+ SharedPreferences preferences = mContext.getSharedPreferences("firstInfo",
+ Context.MODE_PRIVATE);
+ Editor editor = preferences.edit();
+ editor.putInt("firstUse", flag);
+ editor.commit();
+ }
+
+ public int getFirstUse() {
+ SharedPreferences preferences = mContext.getSharedPreferences("firstInfo",
+ Context.MODE_PRIVATE);
+ int firstUse = preferences.getInt("firstUse", 0);
+ return firstUse;
+ }
+}
diff --git a/app/src/main/res/drawable/my_progress_background.xml b/app/src/main/res/drawable/my_progress_background.xml
new file mode 100644
index 0000000..66a876a
--- /dev/null
+++ b/app/src/main/res/drawable/my_progress_background.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:id="@android:id/background">
+ <color android:color="#00ffffff"/>
+ </item>
+
+ <item android:id="@android:id/progress">
+ <clip
+ android:clipOrientation="horizontal"
+ android:gravity="left">
+ <shape>
+ <gradient
+ android:startColor="#00a445"
+ android:endColor="#00ffde"/>
+ </shape>
+ </clip>
+ </item>
+</layer-list>
diff --git a/app/src/main/res/layout/ac_charts_layout.xml b/app/src/main/res/layout/ac_charts_layout.xml
new file mode 100644
index 0000000..e87c359
--- /dev/null
+++ b/app/src/main/res/layout/ac_charts_layout.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@mipmap/bg"
+ android:fitsSystemWindows="true"
+ android:orientation="vertical">
+ <include layout="@layout/top_bar_layout"/>
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginLeft="@dimen/x8"
+ android:layout_marginRight="@dimen/x8"
+ android:layout_marginTop="@dimen/x20"
+ android:padding="@dimen/x10"
+ android:background="@mipmap/bg_chart">
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+ <ImageView
+ android:layout_width="@dimen/x10"
+ android:layout_height="@dimen/x10"
+ android:src="@mipmap/icon_yuan"/>
+ <TextView
+ android:id="@+id/tv_sub"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/white"
+ android:textSize="16sp"
+ android:layout_gravity="center_horizontal"
+ android:text="PM2.5���������"
+ android:layout_marginRight="@dimen/x4"
+ android:layout_marginLeft="@dimen/x4"
+ />
+ <ImageView
+ android:layout_width="@dimen/x10"
+ android:layout_height="@dimen/x10"
+ android:src="@mipmap/icon_xia"/>
+ </LinearLayout>
+
+ <lecho.lib.hellocharts.view.LineChartView
+ android:id="@+id/chart"
+ android:layout_width="match_parent"
+ android:layout_marginTop="@dimen/x8"
+ android:layout_height="@dimen/y300">
+ </lecho.lib.hellocharts.view.LineChartView>
+ </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/ac_device_data_layout.xml b/app/src/main/res/layout/ac_device_data_layout.xml
new file mode 100644
index 0000000..c0e7f9f
--- /dev/null
+++ b/app/src/main/res/layout/ac_device_data_layout.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@mipmap/bg"
+ android:fitsSystemWindows="true"
+ android:orientation="vertical">
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/y38">
+ <TextView
+ android:id="@+id/tv_left"
+ android:layout_width="@dimen/x60"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:textColor="@color/white"
+ android:drawablePadding="@dimen/x4"
+ android:textSize="16sp"
+ android:text="������"
+ android:paddingLeft="@dimen/x16"
+ />
+ <TextView
+ android:id="@+id/tv_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:ellipsize="marquee"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ android:gravity="center"
+ android:textColor="@color/white"
+ android:marqueeRepeatLimit="marquee_forever"
+ android:singleLine="true"
+ android:text="������������"
+ android:textSize="17sp" />
+ </RelativeLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_margin="@dimen/x6"
+ android:paddingLeft="@dimen/x2"
+ android:paddingRight="@dimen/x2"
+ android:paddingBottom="@dimen/x10"
+ android:paddingTop="@dimen/x2"
+ android:background="@mipmap/bg_data">
+ <android.support.v7.widget.RecyclerView
+ android:id="@+id/rv_data"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+ </RelativeLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/ac_login_layout.xml b/app/src/main/res/layout/ac_login_layout.xml
index 242e533..4bbc9ef 100644
--- a/app/src/main/res/layout/ac_login_layout.xml
+++ b/app/src/main/res/layout/ac_login_layout.xml
@@ -19,7 +19,6 @@
android:layout_height="@dimen/x40"
android:layout_marginLeft="@dimen/x36"
android:layout_marginRight="@dimen/x36"
- android:inputType="number"
android:textSize="16sp"
android:textColor="@color/white"
android:textColorHint="@color/white"
@@ -59,5 +58,6 @@
android:textColor="@color/blue_txt"
android:text="������������"
android:gravity="center"
+ android:visibility="invisible"
android:layout_marginTop="@dimen/x60"/>
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/ac_map_layout.xml b/app/src/main/res/layout/ac_map_layout.xml
new file mode 100644
index 0000000..531c314
--- /dev/null
+++ b/app/src/main/res/layout/ac_map_layout.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@mipmap/bg"
+ android:fitsSystemWindows="true"
+ android:orientation="vertical">
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/y38">
+ <TextView
+ android:id="@+id/tv_left"
+ android:layout_width="@dimen/x60"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:textColor="@color/white"
+ android:drawablePadding="@dimen/x4"
+ android:textSize="16sp"
+ android:text="������"
+ android:paddingLeft="@dimen/x16"
+ />
+ <TextView
+ android:id="@+id/tv_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:ellipsize="marquee"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ android:gravity="center"
+ android:textColor="@color/white"
+ android:marqueeRepeatLimit="marquee_forever"
+ android:singleLine="true"
+ android:text="������������"
+ android:textSize="17sp" />
+ </RelativeLayout>
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_margin="@dimen/x6"
+ android:padding="@dimen/x2"
+ android:background="@mipmap/bg_map">
+ <com.baidu.mapapi.map.MapView
+ android:id="@+id/bmapView"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:clickable="true" />
+ </RelativeLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_data.xml b/app/src/main/res/layout/list_item_data.xml
new file mode 100644
index 0000000..240527d
--- /dev/null
+++ b/app/src/main/res/layout/list_item_data.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal"
+ android:paddingTop="@dimen/x14"
+ android:paddingLeft="@dimen/x4"
+ android:paddingRight="@dimen/x4">
+ <TextView
+ android:id="@+id/tv_name"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:gravity="right"
+ android:layout_weight="1.2"
+ android:textSize="13sp"
+ android:textColor="@color/white"
+ android:text="���������2.5"/>
+ <RelativeLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="3"
+ android:background="@mipmap/pro_kuang"
+ android:layout_marginRight="@dimen/x6"
+ android:layout_marginLeft="@dimen/x6"
+ android:padding="@dimen/x2">
+ <ProgressBar
+ android:id="@+id/progressBar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ style="?android:attr/progressBarStyleHorizontal"
+ android:max="100"
+ android:progressDrawable="@drawable/my_progress_background"
+ />
+ </RelativeLayout>
+
+ <TextView
+ android:id="@+id/tv_unit"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:gravity="left"
+ android:layout_weight="2.2"
+ android:textColor="@color/white"
+ android:textSize="13sp"
+ android:text="6396���PCS/0.1L���"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/pop_layout.xml b/app/src/main/res/layout/pop_layout.xml
new file mode 100644
index 0000000..04f7962
--- /dev/null
+++ b/app/src/main/res/layout/pop_layout.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/ll_pop"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@mipmap/bg_pop"
+ android:paddingLeft="@dimen/x8"
+ android:paddingTop="@dimen/x8"
+ android:paddingRight="@dimen/x8"
+ android:paddingBottom="@dimen/x16"
+ android:orientation="vertical">
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+ <TextView
+ android:id="@+id/tv_name"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="XXXXXXXXXXXXXXXXXXXXXXX"
+ android:textSize="13sp"
+ android:textColor="@color/yellow_txt"
+ android:layout_weight="1"/>
+ <ImageView
+ android:id="@+id/iv_close"
+ android:layout_width="@dimen/x20"
+ android:layout_height="@dimen/x20"
+ android:padding="@dimen/x6"
+ android:src="@mipmap/icon_close" />
+ </LinearLayout>
+ <TextView
+ android:id="@+id/tv_address"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="XXXXXXXXXXXXXXXXXXXXXXX"
+ android:textSize="13sp"
+ android:layout_marginTop="@dimen/x4"
+ android:layout_weight="1"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/top_bar_layout.xml b/app/src/main/res/layout/top_bar_layout.xml
index 8fd3c0a..547407b 100644
--- a/app/src/main/res/layout/top_bar_layout.xml
+++ b/app/src/main/res/layout/top_bar_layout.xml
@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="@dimen/y38"
- android:background="@color/white">
+ android:layout_height="@dimen/y38">
<TextView
android:id="@+id/tv_left"
android:layout_width="@dimen/x60"
android:layout_height="match_parent"
android:gravity="center"
- android:textColor="@color/black_txt"
+ android:textColor="@color/white"
android:drawablePadding="@dimen/x4"
android:textSize="16sp"
android:text="������"
@@ -25,7 +24,7 @@
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
- android:textColor="@color/black_txt"
+ android:textColor="@color/white"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="������"
@@ -48,6 +47,6 @@
android:gravity="center"
android:text=""
android:visibility="gone"
- android:textColor="@color/black_txt"
+ android:textColor="@color/white"
android:layout_alignParentRight="true" />
</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xxxhdpi/bg_chart.png b/app/src/main/res/mipmap-xxxhdpi/bg_chart.png
new file mode 100644
index 0000000..4e4e856
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/bg_chart.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/bg_data.png b/app/src/main/res/mipmap-xxxhdpi/bg_data.png
new file mode 100644
index 0000000..37af029
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/bg_data.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/bg_map.png b/app/src/main/res/mipmap-xxxhdpi/bg_map.png
new file mode 100644
index 0000000..82c212b
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/bg_map.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/bg_pop.png b/app/src/main/res/mipmap-xxxhdpi/bg_pop.png
new file mode 100644
index 0000000..27d2f46
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/bg_pop.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_close.png b/app/src/main/res/mipmap-xxxhdpi/icon_close.png
new file mode 100644
index 0000000..56171c5
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_close.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_level1.png b/app/src/main/res/mipmap-xxxhdpi/icon_level1.png
new file mode 100644
index 0000000..5487601
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_level1.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_level2.png b/app/src/main/res/mipmap-xxxhdpi/icon_level2.png
new file mode 100644
index 0000000..1928a67
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_level2.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_level3.png b/app/src/main/res/mipmap-xxxhdpi/icon_level3.png
new file mode 100644
index 0000000..7b6d691
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_level3.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_normal.png b/app/src/main/res/mipmap-xxxhdpi/icon_normal.png
new file mode 100644
index 0000000..64a77b1
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_normal.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_offline.png b/app/src/main/res/mipmap-xxxhdpi/icon_offline.png
new file mode 100644
index 0000000..a71a2cb
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_offline.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_white_jiantou.png b/app/src/main/res/mipmap-xxxhdpi/icon_white_jiantou.png
new file mode 100644
index 0000000..4c1962f
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_white_jiantou.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_xia.png b/app/src/main/res/mipmap-xxxhdpi/icon_xia.png
new file mode 100644
index 0000000..d6ee6c8
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_xia.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_yuan.png b/app/src/main/res/mipmap-xxxhdpi/icon_yuan.png
new file mode 100644
index 0000000..3223a5c
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/icon_yuan.png
Binary files differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/pro_kuang.png b/app/src/main/res/mipmap-xxxhdpi/pro_kuang.png
new file mode 100644
index 0000000..46b2edf
--- /dev/null
+++ b/app/src/main/res/mipmap-xxxhdpi/pro_kuang.png
Binary files differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 3c336cd..e89771f 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -10,7 +10,7 @@
<color name="dark_black_txt">#040000</color>
<color name="black_txt">#323333</color>
<color name="green_txt">#92c755</color>
- <color name="yellow_txt">#eb8600</color>
+ <color name="yellow_txt">#ff7800</color>
<color name="ac_bg">#f0f0f0</color>
<color name="trans_white">#CCffffff</color>
<color name="trans">#00ffffff</color>
--
Gitblit v1.8.0