Browse Source

update MainActivity

master
陈福行 3 years ago
parent
commit
8abc287edc

+ 62
- 96
app/src/main/java/aicare/net/cn/sdk/tmpsrepositoryandroid/MainActivity.java View File

import aicare.net.cn.sdk.tmpsrepositoryandroid.utils.L; import aicare.net.cn.sdk.tmpsrepositoryandroid.utils.L;
import aicare.net.cn.sdk.tmpsrepositoryandroid.utils.ParseData; import aicare.net.cn.sdk.tmpsrepositoryandroid.utils.ParseData;
import aicare.net.cn.sdk.tmpsrepositoryandroid.utils.SPUtils; import aicare.net.cn.sdk.tmpsrepositoryandroid.utils.SPUtils;
import aicare.net.cn.sdk.tmpsrepositoryandroid.utils.T;
import aicare.net.cn.sdk.tmpsrepositoryandroid.views.SetIdDialog; import aicare.net.cn.sdk.tmpsrepositoryandroid.views.SetIdDialog;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;


public class MainActivity extends AppCompatActivity implements View.OnClickListener,
TpmsScan.TpmsScanListener, OnIdSetListener {
public class MainActivity extends AppCompatActivity implements View.OnClickListener, TpmsScan.TpmsScanListener, OnIdSetListener {


private Button btn_get_info, btn_clear_log, btn_stop_scan;
private Button btn_get_info, btn_clear_log, btn_stop_scan;
private TextView tv_left_front, tv_right_front, tv_left_rear, tv_right_rear; private TextView tv_left_front, tv_right_front, tv_left_rear, tv_right_rear;
private ListView lv_show_log; private ListView lv_show_log;
private LinearLayout ll_set_id; private LinearLayout ll_set_id;


mTpmsScan = new TpmsScan(MainActivity.this); mTpmsScan = new TpmsScan(MainActivity.this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(LOCATION_PERMISSION,1);
requestPermissions(LOCATION_PERMISSION, 1);
} }


} }
if (TextUtils.isEmpty(leftFront)) { if (TextUtils.isEmpty(leftFront)) {
tv_left_front.setText(R.string.please_set_id); tv_left_front.setText(R.string.please_set_id);
} else { } else {
tv_left_front.setText(String
.format(getResources().getString(R.string.left_front_id), leftFront));
tv_left_front.setText(getString(R.string.left_front_hint) + ":" + leftFront);
} }
if (TextUtils.isEmpty(rightFront)) { if (TextUtils.isEmpty(rightFront)) {
tv_right_front.setText(R.string.please_set_id); tv_right_front.setText(R.string.please_set_id);
} else { } else {
tv_right_front.setText(String
.format(getResources().getString(R.string.right_front_id), rightFront));
tv_right_front.setText(getString(R.string.left_rear_hint) + ":" + rightFront);
} }
if (TextUtils.isEmpty(leftRear)) { if (TextUtils.isEmpty(leftRear)) {
tv_left_rear.setText(R.string.please_set_id); tv_left_rear.setText(R.string.please_set_id);
} else { } else {
tv_left_rear.setText(String
.format(getResources().getString(R.string.left_rear_id), leftRear));
tv_left_rear.setText(getString(R.string.right_front_hint) + ":" + leftRear);
} }
if (TextUtils.isEmpty(rightRear)) { if (TextUtils.isEmpty(rightRear)) {
tv_right_rear.setText(R.string.please_set_id); tv_right_rear.setText(R.string.please_set_id);
} else { } else {
tv_right_rear.setText(String
.format(getResources().getString(R.string.right_rear_id), rightRear));
tv_right_rear.setText(getString(R.string.right_rear_hint) + ":" + rightRear);
} }
} }


} }






@Override @Override
public void onClick(View v) { public void onClick(View v) {
switch (v.getId()) { switch (v.getId()) {
break; break;
case R.id.btn_get_info: case R.id.btn_get_info:
if (deviceIdMap.isEmpty() || noId()) { if (deviceIdMap.isEmpty() || noId()) {
T.showLong(this, R.string.please_set_id);
mTpmsScan.startScan();
} else { } else {
if (mTpmsScan != null && deviceIdMap != null) { if (mTpmsScan != null && deviceIdMap != null) {
mDeviceIdS = null; mDeviceIdS = null;




@Override @Override
public void onGetData(byte[] bytes,String mac, String deviceId, int rssi, float pressure,int pressureUnit, float battery,
int temp,int tempUnit, int status, float mcuVersion, int year, int month, int day,
float bleVersion) {

if (deviceIdMap != null) {
for (Config.DevicePosition devicePosition : deviceIdMap.keySet()) {
if (TextUtils.equals(deviceId, deviceIdMap.get(devicePosition))) {
Config.DeviceState deviceState = Config.DeviceState.NORMAL;
switch (status) {
case 1:
deviceState = Config.DeviceState.LEAK;
break;
case 2:
deviceState = Config.DeviceState.INFLATE;
break;
case 3:
deviceState = Config.DeviceState.START;
break;
case 4:
deviceState = Config.DeviceState.POWER_ON;
break;
case 5:
deviceState = Config.DeviceState.WEAK_UP;
break;
}

StringBuffer buffer = new StringBuffer();
buffer.append("设备位置:");
buffer.append(getPosition(devicePosition));
buffer.append(", 设备id:");
buffer.append(deviceId);
buffer.append(", 电压:");
buffer.append(battery);
buffer.append(", 气压:");
buffer.append(pressure);
buffer.append(", 温度:");
buffer.append(temp);
buffer.append(", 状态:");
buffer.append(getState(deviceState));
buffer.append(", 时间:");
buffer.append(ParseData.getTime());
sendMsg(buffer.toString());
return;
}
public void onGetData(byte[] bytes, String mac, String deviceId, int rssi, float pressure, int pressureUnit, float battery, int temp, int tempUnit, int status, float mcuVersion, int year,
int month, int day, float bleVersion) {
StringBuffer buffer = new StringBuffer();
for (Config.DevicePosition devicePosition : deviceIdMap.keySet()) {
if (TextUtils.equals(deviceId, deviceIdMap.get(devicePosition))) {
buffer.append("Location:");
buffer.append(getPosition(devicePosition));
buffer.append(", ");
} }
} }


}


public void onStopScan() {
sendMsg("停止扫描");
}

public void onBluetoothStateOn() {
T.showLong(this, "蓝牙已开启!");
}

public void onBluetoothStateOff() {
T.showLong(this, "蓝牙已关闭!");
}
Config.DeviceState deviceState = Config.DeviceState.NORMAL;
switch (status) {
case 1:
deviceState = Config.DeviceState.LEAK;
break;
case 2:
deviceState = Config.DeviceState.INFLATE;
break;
case 3:
deviceState = Config.DeviceState.START;
break;
case 4:
deviceState = Config.DeviceState.POWER_ON;
break;
case 5:
deviceState = Config.DeviceState.WEAK_UP;
break;
}
buffer.append("deviceId:");
buffer.append(deviceId);
buffer.append(", battery:");
buffer.append(battery);
buffer.append(", pressure:");
buffer.append(pressure);
buffer.append(", Temp:");
buffer.append(temp);
buffer.append(", status:");
buffer.append(getState(deviceState));
buffer.append(", time:");
buffer.append(ParseData.getTime());
sendMsg(buffer.toString());


public void onBluetoothTurningOn() {
T.showLong(this, "蓝牙开启中!");
} }


public void onBluetoothTurningOff() {
T.showLong(this, "蓝牙关闭中!");
}


private String getPosition(Config.DevicePosition devicePosition) { private String getPosition(Config.DevicePosition devicePosition) {
switch (devicePosition) { switch (devicePosition) {
case LEFT_FRONT: case LEFT_FRONT:
return "左前";
return getString(R.string.left_front_hint);
case RIGHT_FRONT: case RIGHT_FRONT:
return "右前";
return getString(R.string.left_rear_hint);
case LEFT_REAR: case LEFT_REAR:
return "左后";
return getString(R.string.right_front_hint);
case RIGHT_REAR: case RIGHT_REAR:
return "右后";
return getString(R.string.right_rear_hint);
default: default:
return ""; return "";
} }
private String getState(Config.DeviceState deviceState) { private String getState(Config.DeviceState deviceState) {
switch (deviceState) { switch (deviceState) {
case NORMAL: case NORMAL:
return "正常";
return getString(R.string.normal);
case LEAK: case LEAK:
return "漏气";
return getString(R.string.leak);
case INFLATE: case INFLATE:
return "充气";
return getString(R.string.inflatable);
case START: case START:
return "启动";
return getString(R.string.start);
case POWER_ON: case POWER_ON:
return "上电";
return getString(R.string.power_on);
case WEAK_UP: case WEAK_UP:
return "唤醒";
return getString(R.string.wake);
case TEMP_ERROR: case TEMP_ERROR:
return "温度异常";
return getString(R.string.temp_err);
case BATTERY_ERROR: case BATTERY_ERROR:
return "电量异常";
return getString(R.string.battery_err);
case UNKNOWN: case UNKNOWN:
return "未知";
return getString(R.string.unknown);
default: default:
return ""; return "";
} }
*/ */
private boolean noId() { private boolean noId() {
if (deviceIdMap != null && !deviceIdMap.isEmpty()) { if (deviceIdMap != null && !deviceIdMap.isEmpty()) {
if (TextUtils.isEmpty(deviceIdMap.get(Config.DevicePosition.LEFT_FRONT)) && TextUtils
.isEmpty(deviceIdMap.get(Config.DevicePosition.LEFT_REAR)) && TextUtils
.isEmpty(deviceIdMap.get(Config.DevicePosition.RIGHT_FRONT)) && TextUtils
.isEmpty(deviceIdMap.get(Config.DevicePosition.RIGHT_REAR))) {//当所有ID都为空时,停止扫描
if (TextUtils.isEmpty(deviceIdMap.get(Config.DevicePosition.LEFT_FRONT)) && TextUtils.isEmpty(deviceIdMap.get(Config.DevicePosition.LEFT_REAR)) && TextUtils
.isEmpty(deviceIdMap.get(Config.DevicePosition.RIGHT_FRONT)) && TextUtils.isEmpty(deviceIdMap.get(Config.DevicePosition.RIGHT_REAR))) {
return true; return true;
} }
} }

+ 11
- 16
app/src/main/res/layout/activity_main.xml View File

<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
android:paddingBottom="@dimen/activity_vertical_margin">


<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:text="扫描(获取胎压信息)"/>
android:text="扫描(获取胎压信息)" />




<Button <Button
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:text="清空Log"/>
android:text="清空Log" />


<Button <Button
android:id="@+id/btn_stop_scan" android:id="@+id/btn_stop_scan"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:text="停止扫描"/>
android:text="停止扫描" />
</LinearLayout> </LinearLayout>


<LinearLayout <LinearLayout


<TextView <TextView
android:id="@+id/tv_left_front" android:id="@+id/tv_left_front"
style="@style/TVTyreId"
android:text="@string/left_front_id"/>
style="@style/TVTyreId" />


<TextView <TextView
android:id="@+id/tv_right_front" android:id="@+id/tv_right_front"
style="@style/TVTyreId"
android:text="@string/right_front_id"/>
style="@style/TVTyreId" />
</LinearLayout> </LinearLayout>


<LinearLayout <LinearLayout


<TextView <TextView
android:id="@+id/tv_left_rear" android:id="@+id/tv_left_rear"
style="@style/TVTyreId"
android:text="@string/left_rear_id"/>
style="@style/TVTyreId" />


<TextView <TextView
android:id="@+id/tv_right_rear" android:id="@+id/tv_right_rear"
style="@style/TVTyreId"
android:text="@string/right_rear_id"/>
style="@style/TVTyreId" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>


<ListView <ListView
android:id="@+id/lv_show_log" android:id="@+id/lv_show_log"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:layout_height="match_parent" />
</LinearLayout> </LinearLayout>

+ 29
- 0
app/src/main/res/values-zh/strings.xml View File

<resources>
<string name="app_name">TmpsDemoAndroid</string>


<string name="please_set_id">请设置ID</string>
<string name="left_front_hint">左前</string>
<string name="left_rear_hint">左后</string>
<string name="right_front_hint">右前</string>
<string name="right_rear_hint">右后</string>

<string name="left_front_error">左前ID错误</string>
<string name="left_rear_error">左后ID错误</string>
<string name="right_front_error">右前ID错误</string>
<string name="right_rear_error">右后ID错误</string>
<string name="set_id_success">设置成功</string>
<string name="query">确定</string>
<string name="cancel">退出</string>


<string name="normal">正常</string>
<string name="leak">漏气</string>
<string name="inflatable">充气</string>
<string name="start">启动</string>
<string name="power_on">上电</string>
<string name="wake">唤醒</string>
<string name="temp_err">温度异常</string>
<string name="battery_err">电量异常</string>
<string name="unknown">未知</string>
</resources>

+ 22
- 16
app/src/main/res/values/strings.xml View File

<resources> <resources>
<string name="app_name">TmpsDemoAndroid</string> <string name="app_name">TmpsDemoAndroid</string>


<string name="left_front_id">左前:%1$s</string>
<string name="right_front_id">右前:%1$s</string>
<string name="left_rear_id">左后:%1$s</string>
<string name="right_rear_id">右后:%1$s</string>
<string name="please_set_id">请设置ID</string>


<string name="left_front_hint">左前:</string>
<string name="left_rear_hint">左后:</string>
<string name="right_front_hint">右前:</string>
<string name="right_rear_hint">右后:</string>
<string name="please_set_id">Please set ID</string>
<string name="left_front_hint">left Front</string>
<string name="left_rear_hint">left Rear</string>
<string name="right_front_hint">right Front</string>
<string name="right_rear_hint">right Rear</string>


<string name="left_front_error">左前ID错误</string>
<string name="left_rear_error">左后ID错误</string>
<string name="right_front_error">右前ID错误</string>
<string name="right_rear_error">右后ID错误</string>
<string name="set_id_success">设置成功</string>
<string name="query">确定</string>
<string name="cancel">退出</string>
<string name="left_front_error">left Front ID error</string>
<string name="left_rear_error">left Rear ID error</string>
<string name="right_front_error">right Front ID error</string>
<string name="right_rear_error">right Rear ID error</string>
<string name="set_id_success">set successfully</string>
<string name="query">OK</string>
<string name="cancel">quit</string>

<string name="normal">Normal</string>
<string name="leak">Leak</string>
<string name="inflatable">Inflatable</string>
<string name="start">Start</string>
<string name="power_on">Power-on</string>
<string name="wake">Wake</string>
<string name="temp_err">Abnormal temperature</string>
<string name="battery_err">Abnormal battery</string>
<string name="unknown">unknown</string>


</resources> </resources>

Loading…
Cancel
Save