From a5a64b0bdc4e90e265cbff767c09351ea82f113a Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期三, 31 十二月 2025 10:18:59 +0800
Subject: [PATCH] 删除多余代码
---
/dev/null | 304 --------------------------------------------------
app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java | 11 +
app/src/main/AndroidManifest.xml | 7 -
app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java | 2
4 files changed, 9 insertions(+), 315 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a091e9c..855e47c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,18 +50,11 @@
<activity android:name=".activity.HomeActivity"
android:screenOrientation="portrait"
/>
- <activity android:name=".activity.ConnActivity"
- android:screenOrientation="portrait"
- />
- <activity android:name=".activity.WriteActivity"
- android:screenOrientation="portrait"
- />
<activity android:name=".activity.CurrentDeviceActivity"
android:screenOrientation="portrait"
/>
<activity android:name=".activity.TestActivity"
android:screenOrientation="portrait" />
- <activity android:name=".activity.NormalWriteActivity" />
</application>
diff --git a/app/src/main/java/com/shlb/comb/activity/ConnActivity.java b/app/src/main/java/com/shlb/comb/activity/ConnActivity.java
deleted file mode 100644
index f7a434d..0000000
--- a/app/src/main/java/com/shlb/comb/activity/ConnActivity.java
+++ /dev/null
@@ -1,444 +0,0 @@
-package com.shlb.comb.activity;
-
-import android.bluetooth.BluetoothGatt;
-import android.bluetooth.BluetoothGattCallback;
-import android.bluetooth.BluetoothGattCharacteristic;
-import android.bluetooth.BluetoothGattService;
-import android.bluetooth.BluetoothProfile;
-import android.content.Intent;
-import android.view.View;
-import android.view.ViewGroup;
-
-
-import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
-import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
-import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
-import com.blankj.utilcode.util.LogUtils;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.QMUIEmptyView;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
-import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
-import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
-import com.shlb.comb.R;
-import com.shlb.comb.base.BaseActivity;
-import com.shlb.comb.event.UpdateEvent;
-import com.shlb.comb.util.Singletion;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ConnActivity extends BaseActivity {
- QMUIGroupListView mGroupListView;
- QMUIEmptyView mEmptyView;
-
- //杩炴帴绠$悊
- private BluetoothConnectManager connectManager;
- //杩炴帴鐘舵��
- private int connectState = 0;
- //鏄惁杩炴帴
- private boolean mConnected = false;
-
-
- @Override
- protected void contentView() {
- setContentView(R.layout.activity_conn);
- mGroupListView = findViewById(R.id.groupListView);
- mEmptyView = findViewById(R.id.emptyView);
- }
-
- @Override
- protected void initView() {
- super.initHead();
- initTitlebar();
- tv_center.setText("钃濈墮淇℃伅");
- mEmptyView.show(true);
-
-
- initGroupListView();
-
- }
-
- @Override
- protected void initData() {
- BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
- initConn(mDevice);
-
-
- }
-
- @Override
- protected void initEvent() {
-
- }
-
- @Override
- public void onClick(View v) {
- int id = v.getId();
- if (id == R.id.iv_left) {
- this.onBackPressed();
- } else if (id == R.id.iv_right) {
- }
- }
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEventRefresh(UpdateEvent event) {
- switch (event.getType()) {
- case CONN_STATU:
-
- int statu = (int) event.getObj();
- //0-鏂紑 2-杩炴帴
- switch (statu) {
- case 0:
- mConnected = false;
- Singletion.getInstance().mConnected = false;
- break;
- case 2:
- mConnected = true;
- Singletion.getInstance().mConnected = true;
- mEmptyView.hide();
- Toast("杩炴帴鎴愬姛锛�");
- break;
- }
-
- break;
- case CONN_SERVICE:
- //鑾峰彇鏈嶅姟鎴愬姛鍚庢洿鏂癠I
- updateUi();
- break;
-
-
- case SCAN_UPDATE:
-
-
- break;
- case CONFIG_CHANGE:
-
- break;
- }
- }
-
- private ConnectStateListener stateListener = new ConnectStateListener() {
- @Override
- public void onConnectStateChanged(String address, ConnectState state) {
- switch (state) {
- case CONNECTED:
-
-
- break;
- case CONNECTING:
-
-
- break;
- case NORMAL:
-
-
- break;
- }
- invalidateOptionsMenu();
- }
- };
-
- //杩炴帴璁惧
- private void initConn(BluetoothLeDevice device) {
- if (connectManager == null) {
- connectManager = BluetoothConnectManager.getInstance(this);
- connectManager.addConnectStateListener(stateListener);
- connectManager.setBluetoothGattCallback(new BluetoothGattCallback() {
-
- @Override
- public void onCharacteristicRead(final BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic, final int status) {
- if (status == BluetoothGatt.GATT_SUCCESS) {
- EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "read"));
- } else {
- EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "fail"));
- LogUtils.e(TAG, "fail to read characteristic");
- }
- }
-
- @Override
- public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
- super.onCharacteristicWrite(gatt, characteristic, status);
- if (status == BluetoothGatt.GATT_SUCCESS) {
- EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "write"));
- } else {
- EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "fail"));
- LogUtils.e(TAG, "fail to write characteristic");
- }
- }
-
- @Override
- public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
- super.onCharacteristicChanged(gatt, characteristic);
- EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.BLE_DATA, characteristic, "notify"));
- }
-
- @Override
- public void onConnectionStateChange(BluetoothGatt gatt, final int status, int newState) {
- super.onConnectionStateChange(gatt, status, newState);
- EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.CONN_STATU, newState, "conn_statu"));
- connectState = newState;
-
-
- }
-
- @Override
- public void onServicesDiscovered(final BluetoothGatt gatt, int status) {
- super.onServicesDiscovered(gatt, status);
- if (status == BluetoothGatt.GATT_SUCCESS) {
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- displayGattServices(gatt.getServices());
- }
- });
- }
-
- }
- });
- }
- connectManager.connect(device.getAddress());
- }
-
-
- /**
- * 鑾峰彇褰撳墠杩炴帴钃濈墮鍙啓鏈嶅姟
- *
- * @param gattServices
- */
- private void displayGattServices(List<BluetoothGattService> gattServices) {
- Singletion.getInstance().mbluetoothServices.clear();
- List<Map<String, String>> res = new ArrayList<>();
- for (final BluetoothGattService gattService : gattServices) {
- final List<BluetoothGattCharacteristic> gattCharacteristics = gattService.getCharacteristics();
- for (final BluetoothGattCharacteristic gattCharacteristic : gattCharacteristics) {
- Map<String, String> map = new HashMap<>();
-
- String property = getPropertyString(gattCharacteristic.getProperties());
- //鍙渶瑕佸彲鍐欐湇鍔�
- if (property.contains("Write")) {
- map.put("name", property);
- map.put("uuid", gattCharacteristic.getUuid().toString());
- res.add(map);
- }
- }
- }
- Singletion.getInstance().mbluetoothServices.addAll(res);
- EventBus.getDefault().post(new UpdateEvent(UpdateEvent.Type.CONN_SERVICE));
-
- }
-
- private String getPropertyString(int property) {
- StringBuilder sb = new StringBuilder("(");
- //Read
- if ((property & BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
- sb.append("Read ");
- }
- //Write
- if ((property & BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE) > 0
- || (property & BluetoothGattCharacteristic.PROPERTY_WRITE) > 0) {
- sb.append("Write ");
- }
- //Notify
- if ((property & BluetoothGattCharacteristic.PROPERTY_NOTIFY) > 0) {
- sb.append("Notity ");
- }
-
- if ((property & BluetoothGattCharacteristic.PROPERTY_INDICATE) > 0) {
- sb.append("Indicate ");
- }
-
- //Broadcast
- if ((property & BluetoothGattCharacteristic.PROPERTY_BROADCAST) > 0) {
- sb.append("Broadcast ");
- }
- sb.deleteCharAt(sb.length() - 1);
- sb.append(")");
- return sb.toString();
- }
-
- public void initTitlebar() {
- iv_right.setVisibility(View.VISIBLE);
- iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
- iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
- }
-
- QMUICommonListItemView nameItem;
- QMUICommonListItemView macItem;
- QMUICommonListItemView statuItem;
- View.OnClickListener onClickListener;
-
- private void initGroupListView() {
- nameItem = mGroupListView.createItemView(null,
- "钃濈墮", "鏈繛鎺�",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_NONE);
- nameItem.setId(R.id.address_ble_name);
-
- macItem = mGroupListView.createItemView(null,
- "mac", "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_NONE);
- macItem.setId(R.id.address_ble_mac);
-
- statuItem = mGroupListView.createItemView(null,
- "鐘舵��", "鏈繛鎺�",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_NONE);
- statuItem.setId(R.id.address_ble_statu);
-
-
- onClickListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (v instanceof QMUICommonListItemView) {
- CharSequence text = ((QMUICommonListItemView) v).getDetailText();
- List<Map<String, String>> mbluetoothServices = Singletion.getInstance().mbluetoothServices;
-
- CharSequence title = ((QMUICommonListItemView) v).getText();
- if(title.equals("(浼犳劅鍣ㄧ紪鍧�)绠�鏄撴ā寮�")){
- if(mbluetoothServices == null || mbluetoothServices.size() < 1 ){
- Toast("鏈嶅姟淇℃伅閿欒锛岃閲嶆柊杩炴帴");
- return;
- }
- Map<String, String> map = mbluetoothServices.get(0);
- Singletion.getInstance().uuid = map.get("uuid").toString();
- Intent intent = new Intent(ConnActivity.this,WriteActivity.class);
- startActivity(intent);
- }else if(title.equals("(浼犳劅鍣ㄧ紪鍧�)涓撳妯″紡")){
- if(mbluetoothServices == null || mbluetoothServices.size() < 2 ){
- Toast("鏈嶅姟淇℃伅閿欒锛岃閲嶆柊杩炴帴");
- return;
- }
- Map<String, String> map = mbluetoothServices.get(1);
- Singletion.getInstance().uuid = map.get("uuid").toString();
- Intent intent = new Intent(ConnActivity.this,NormalWriteActivity.class);
- startActivity(intent);
- }
-
- }
- }
- };
-
- int size = QMUIDisplayHelper.dp2px(this, 20);
- QMUIGroupListView.newSection(this)
- .setTitle("Section 1:钃濈墮淇℃伅")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(nameItem, onClickListener)
- .addItemView(statuItem, onClickListener)
- .addItemView(macItem, onClickListener)
- .addTo(mGroupListView);
-
-
- }
-
- private void updateUi() {
- //TODO 鍔ㄦ�佹洿鏂癠I
- BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
- List<Map<String, String>> mbluetoothServices = Singletion.getInstance().mbluetoothServices;
- boolean mConnected = Singletion.getInstance().mConnected;
- if (!mConnected || mbluetoothServices == null || mDevice == null) {
- Toast("寮傚父閿欒锛岃閫�鍑洪噸璇曪紒");
-
- } else {
- if (nameItem != null) nameItem.setDetailText(mDevice.getName());
- if (statuItem != null) statuItem.setDetailText("宸茶繛鎺�");
- if (macItem != null) macItem.setDetailText(mDevice.getAddress());
-
- //鍒涘缓鍙啓鏈嶅姟淇℃伅
- for (int i = 0; i < mbluetoothServices.size(); i++) {
- Map<String, String> map = mbluetoothServices.get(i);
- //map.get("uuid")
- String title = i == 0 ? "(浼犳劅鍣ㄧ紪鍧�)绠�鏄撴ā寮�" : "(浼犳劅鍣ㄧ紪鍧�)涓撳妯″紡" ;
- QMUICommonListItemView itemView = mGroupListView.createItemView(title);
- itemView.setOrientation(QMUICommonListItemView.VERTICAL);
- itemView.setDetailText(map.get("name"));
- int size = QMUIDisplayHelper.dp2px(this, 20);
- int section = i + 2;
- int service = i + 1;
- itemView.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
- QMUIGroupListView.newSection(this)
- .setTitle("Section " + section + ":缂栧潃鏈嶅姟" + service)
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(itemView, onClickListener)
- .addTo(mGroupListView);
-
-
- }
- }
-
-
- }
-
- private void disconnect() {
- if (connectManager != null) {
- if (connectManager.isConnectDevice()) {
- if (Singletion.getInstance().mDevice != null && Singletion.getInstance().mDevice.getAddress() != null) {
- connectManager.disconnect(Singletion.getInstance().mDevice.getAddress());
- connectManager.removeConnectStateListener(stateListener);
- }
-
- }
- }
- }
-
- private void connect() {
- if (connectManager != null) {
- if (!connectManager.isConnectDevice()) {
- if (Singletion.getInstance().mDevice != null && Singletion.getInstance().mDevice.getAddress() != null)
- connectManager.connect(Singletion.getInstance().mDevice.getAddress());
- }
- }
- }
-
- private void showDisconnectDialog() {
-
- new QMUIDialog.MessageDialogBuilder(ConnActivity.this)
- .setTitle("鎻愮ず")
- .setMessage("钃濈墮宸茶繛鎺ワ紝鏄惁鏂紑杩炴帴锛�")
- .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- dialog.dismiss();
- }
- })
- .addAction("纭畾", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- disconnect();
- dialog.dismiss();
- finish();
-
- }
- })
- .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
- }
-
-
- @Override
- public void onBackPressed() {
- if (connectManager != null && connectManager.isConnectDevice()) {
- showDisconnectDialog();
- } else {
- super.onBackPressed();
- }
-
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- disconnect();
-
- }
-}
diff --git a/app/src/main/java/com/shlb/comb/activity/NormalWriteActivity.java b/app/src/main/java/com/shlb/comb/activity/NormalWriteActivity.java
deleted file mode 100644
index 2bb6cc1..0000000
--- a/app/src/main/java/com/shlb/comb/activity/NormalWriteActivity.java
+++ /dev/null
@@ -1,536 +0,0 @@
-package com.shlb.comb.activity;
-
-import android.bluetooth.BluetoothGatt;
-import android.bluetooth.BluetoothGattCharacteristic;
-import android.bluetooth.BluetoothGattService;
-import android.text.InputType;
-import android.util.Log;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.LinearLayout;
-
-import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
-import com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
-import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
-import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
-import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
-import com.blankj.utilcode.util.LogUtils;
-import com.blankj.utilcode.util.ThreadUtils;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
-import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
-import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
-import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
-import com.shlb.comb.R;
-import com.shlb.comb.base.BaseActivity;
-import com.shlb.comb.event.UpdateEvent;
-import com.shlb.comb.util.CMD;
-import com.shlb.comb.util.CRCutil;
-import com.shlb.comb.util.Singletion;
-
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-public class NormalWriteActivity extends BaseActivity {
-
- QMUIGroupListView mGroupListView;
-
- Button send;
-
- LinearLayout llRoot;
-
-
- private BluetoothConnectManager connectManager;
- private BluetoothGatt gatt;
-
- private BluetoothGattCharacteristic characteristic;
-
-
- @Override
- protected void contentView() {
- setContentView(R.layout.normal_activity_write);
-
- }
-
- @Override
- protected void initView() {
- super.initHead();
- mGroupListView = findViewById(R.id.groupListView);
- send = findViewById(R.id.send);
- llRoot = findViewById(R.id.ll_root);
- initTitlebar();
- tv_center.setText("缂栧潃");
- initGroupListView();
-
- }
-
- @Override
- protected void initData() {
- String uuid = Singletion.getInstance().uuid;
- initWrite(uuid);
-
-
- }
-
- @Override
- protected void initEvent() {
- send.setOnClickListener(this);
- int[] ids = {R.id.btnExit, R.id.btnInto, R.id.btnClean, R.id.btn1, R.id.btn2, R.id.btn3, R.id.btn4, R.id.btn5, R.id.btn6, R.id.btn7, R.id.btn8, R.id.btn9, R.id.btn10, R.id.btn11, R.id.btn12, R.id.btn13, R.id.btn14, R.id.btn15, R.id.btn16};
- for (int id : ids) {
- View v = findViewById(id);
- if (v != null) v.setOnClickListener(this);
- }
-
- }
-
-
- @Override
- public void onClick(View v) {
- int id = v.getId();
- if (id == R.id.iv_left) {
- finish();
- } else if (id == R.id.btnExit) {
- writeCmd(CMD.EXIT);
- } else if (id == R.id.btnInto) {
- writeCmd(CMD.GETINTO);
- } else if (id == R.id.btnClean) {
- writeCmd(CMD.CLEAN);
- } else if (id == R.id.btn1) {
- sendYJCmd(1);
- } else if (id == R.id.btn2) {
- sendYJCmd(2);
- } else if (id == R.id.btn3) {
- sendYJCmd(3);
- } else if (id == R.id.btn4) {
- sendYJCmd(4);
- } else if (id == R.id.btn5) {
- sendYJCmd(5);
- } else if (id == R.id.btn6) {
- sendYJCmd(6);
- } else if (id == R.id.btn7) {
- sendYJCmd(7);
- } else if (id == R.id.btn8) {
- sendYJCmd(8);
- } else if (id == R.id.btn9) {
- sendYJCmd(9);
- } else if (id == R.id.btn10) {
- sendYJCmd(10);
- } else if (id == R.id.btn11) {
- sendYJCmd(11);
- } else if (id == R.id.btn12) {
- sendYJCmd(12);
- } else if (id == R.id.btn13) {
- sendYJCmd(13);
- } else if (id == R.id.btn14) {
- sendYJCmd(14);
- } else if (id == R.id.btn15) {
- sendYJCmd(15);
- } else if (id == R.id.btn16) {
- sendYJCmd(16);
- }
- }
-
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEventReceiveNotify(UpdateEvent event) {
- if (event != null && event.getType() == UpdateEvent.Type.BLE_DATA) {
- BluetoothGattCharacteristic characteristic = (BluetoothGattCharacteristic) event.getObj();
- final byte[] dataArr = characteristic.getValue();
- final String flag = event.getMsg();
- if (dataArr != null && dataArr.length > 0) {
- if (flag.equals("read")) {
- } else if (flag.equals("write")) {
- } else if (flag.equals("notify")) {
- //杩斿洖缁撴灉
- String crc = CRCutil.getCRC(dataArr);
- LogUtils.e("resCRC", crc);
- //CRC璁$畻缁撴灉涓�0鏃跺懡浠ゆ墽琛屾垚鍔燂紝鑷姩鎵ц閫�鍑哄懡浠�
- if (crc.equals("0")) {
- writeCmd(CMD.EXIT);
- Toast("鎿嶄綔鎴愬姛锛岃嚜鍔ㄦ墽琛岄��鍑虹紪鍧�鎸囦护");
- curCmd = -1;
- item6.setText("缂栧潃鎴愬姛");
- }
- //璁$畻杩斿洖涓�0鏃� 鑷姩閫�鍑�
-
- LogUtils.e("res", ByteUtils.byteArrayToHexString(dataArr));
- } else {
-
- Toast("瑙f瀽杩斿洖淇℃伅澶辫触锛�");
- }
- } else {
- Toast("杩斿洖淇℃伅涓虹┖锛�");
- }
- }
- }
-
- QMUICommonListItemView item1;
- QMUICommonListItemView item2;
- QMUICommonListItemView item3;
- QMUICommonListItemView item4;
- QMUICommonListItemView item5;
- QMUICommonListItemView item6;
- View.OnClickListener onClickListener;
- int curCmd = -1;
-
- String[] cmdName = {"杩涘叆缂栧潃", "娓呴櫎鍦板潃", "缂栬緫鍦板潃", "閫�鍑虹紪鍧�", "涓�閿紪鍧�"};
-
- private void initGroupListView() {
- item1 = mGroupListView.createItemView(null,
- cmdName[0], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item2 = mGroupListView.createItemView(null,
- cmdName[1], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item3 = mGroupListView.createItemView(null,
- cmdName[2], "鐐瑰嚮閫夋嫨缂栧彿",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
- item4 = mGroupListView.createItemView(null,
- cmdName[3], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
-
- onClickListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (v instanceof QMUICommonListItemView) {
- CharSequence text = ((QMUICommonListItemView) v).getText();
- //杩涘叆缂栧潃
- if (text.equals(cmdName[0])) {
- curCmd = 1;
- item6.setText(cmdName[0]);
- item6.setDetailText("");
- //娓呴櫎鍦板潃
- } else if (text.equals(cmdName[1])) {
- curCmd = 2;
- item6.setText(cmdName[1]);
- item6.setDetailText("");
- //缂栬緫鍦板潃
- } else if (text.equals(cmdName[2])) {
- showEditTextDialog();
- //閫�鍑虹紪鍧�
- } else if (text.equals(cmdName[3])) {
- curCmd = 4;
- item6.setText(cmdName[3]);
- item6.setDetailText("");
- //涓�閿紪鍧�
- } else if (text.equals(cmdName[4])) {
- showQuickDialog();
- }
-
-
- }
- }
- };
-
- int size = QMUIDisplayHelper.dp2px(this, 20);
- QMUIGroupListView.newSection(this)
- .setTitle("Section 1:鎿嶄綔鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item1, onClickListener)
- .addItemView(item2, onClickListener)
- .addItemView(item3, onClickListener)
- .addItemView(item4, onClickListener)
- .addTo(mGroupListView);
-
- item5 = mGroupListView.createItemView(cmdName[4]);
- item5.setOrientation(QMUICommonListItemView.VERTICAL);
- item5.setDetailText("杩涘叆-娓呴櫎-缂栧潃-閫�鍑�");
- item5.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item6 = mGroupListView.createItemView("寰呴�夋嫨");
- item6.setOrientation(QMUICommonListItemView.HORIZONTAL);
-
-
- QMUIGroupListView.newSection(this)
- .setTitle("Section 2:蹇嵎鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item5, onClickListener)
- .addTo(mGroupListView);
-
- QMUIGroupListView.newSection(this)
- .setTitle("Section 3:褰撳墠鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item6, onClickListener)
- .addTo(mGroupListView);
-
- }
-
- /**
- * 鍒濆鍖栧啓鍏ユ湇鍔�
- *
- * @param uu
- */
- private void initWrite(String uu) {
- BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
- connectManager = BluetoothConnectManager.getInstance(this);
- connectManager.addConnectStateListener(listener);
- String uuid = uu;
- UUID serverUUid = null;
- gatt = connectManager.getBluetoothGatt(mDevice.getAddress());
- if (gatt != null) {
- List<BluetoothGattService> list = gatt.getServices();
- if (list != null) {
- for (BluetoothGattService service : list) {
- for (BluetoothGattCharacteristic characteristics : service.getCharacteristics()) {
- if (characteristics.getUuid().toString().equals(uuid)) {
- characteristic = characteristics;
- serverUUid = service.getUuid();
- break;
- }
- }
- }
- }
- }
- if (serverUUid == null) {
- Toast("serverUUid涓嶈兘涓虹┖!");
- return;
- }
- //1.set service uuid
- connectManager.setServiceUUID(serverUUid.toString());
- //2.clean history descriptor data
- connectManager.cleanSubscribeData();
- //3.add subscribe params
- if (BluetoothUtils.isCharacteristicRead(characteristic.getProperties())) {
- connectManager.addBluetoothSubscribeData(
- new BluetoothSubScribeData.Builder().setCharacteristicRead(characteristic.getUuid()).build());
- }
- if (BluetoothUtils.isCharacteristicNotify(characteristic.getProperties())) {
- connectManager.addBluetoothSubscribeData(
- new BluetoothSubScribeData.Builder().setCharacteristicNotify(characteristic.getUuid()).build()
- );
- }
-
- connectManager.startSubscribe(gatt);
- }
-
- private void writeCmd(String cmd) {
- int len = cmd.length();
- if (len > 0 && len % 2 == 0) {
- byte[] bytes = invertStringToBytes(cmd);
- if (bytes != null) {
- characteristic.setValue(bytes);
- gatt.writeCharacteristic(characteristic);
- runOnUiThread(() -> {
- item6.setDetailText(item6.getDetailText() + " 宸插彂閫�");
- });
- } else {
- Log.e("tag", "write value fail");
- }
- } else {
-
- runOnUiThread(() -> {
- Toast("鎸囦护閿欒锛�");
- });
- }
- }
-
- private byte[] invertStringToBytes(String value) {
- int len = value.length() / 2;
- if (len > 0) {
- byte[] bytes = new byte[len];
- for (int i = 0; i < len; i++) {
- Integer val = Integer.valueOf(value.substring(i * 2, i * 2 + 2), 16);
- bytes[i] = val.byteValue();
- }
- return bytes;
- }
- return null;
- }
-
- private List<Map<String, Object>> getWriteData() {
- List<Map<String, Object>> res = new ArrayList<>();
- Map<String, Object> map1 = new HashMap<>();
- map1.put("name", "杩涘叆缂栧潃鐘舵��");
- map1.put("flag", "0");
- map1.put("value", "A55A060100000000002F35");
- res.add(map1);
- Map<String, Object> map2 = new HashMap<>();
- map2.put("name", "閫�鍑虹紪鍧�鐘舵��");
- map2.put("flag", "0");
- map2.put("value", "A55A060400000000002F60");
- res.add(map2);
- Map<String, Object> map3 = new HashMap<>();
- map3.put("name", "缂栧潃");
- map3.put("flag", "0");
- map3.put("value", "A55A060300020000002F6F");
- res.add(map3);
- Map<String, Object> map4 = new HashMap<>();
- map4.put("name", "娓呴櫎鍦板潃");
- map4.put("flag", "0");
- map4.put("value", "A55A060200000000002F06");
- res.add(map4);
- return res;
-
- }
-
- private ConnectStateListener listener = new ConnectStateListener() {
- @Override
- public void onConnectStateChanged(String address, ConnectState state) {
- switch (state) {
- case CONNECTED:
- break;
- case CONNECTING:
- break;
- case NORMAL:
- break;
- }
- }
- };
-
- /**
- * 杈撳叆缂栧潃搴忓彿鍚� 鎵ц缂栧潃鎸囦护
- */
- private void showEditTextDialog() {
- final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
- builder.setTitle("鎻愮ず")
- .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
- .setInputType(InputType.TYPE_CLASS_TEXT)
- .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- dialog.dismiss();
- }
- })
- .addAction("纭畾", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- String text = builder.getEditText().getText().toString();
- Integer res = -1;
- try {
- res = Integer.parseInt(text);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (res == null || res < 0 || res > 16) {
- Toast("璇疯緭鍏�1-16鏁板瓧");
- } else {
- item3.setDetailText(text);
- curCmd = 3;
- item6.setText(cmdName[2]);
- item6.setDetailText(text);
- dialog.dismiss();
-
- }
-
-
- }
- })
- .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
- }
-
- /**
- * 杈撳叆缂栧潃搴忓彿鍚� 涓�閿墽琛屾墍鏈夋寚浠�
- */
- private void showQuickDialog() {
- final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
- builder.setTitle("鎻愮ず")
- .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
- .setInputType(InputType.TYPE_CLASS_TEXT)
- .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- dialog.dismiss();
- }
- })
- .addAction("纭畾", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- String text = builder.getEditText().getText().toString();
- Integer addrrNo = -1;
- try {
- addrrNo = Integer.parseInt(text);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (addrrNo == null || addrrNo < 0 || addrrNo > 16) {
- Toast("璇疯緭鍏�1-16鏁板瓧");
- } else {
- curCmd = 5;
- item5.setDetailText(text);
- item6.setText(cmdName[4]);
- item6.setDetailText(text);
- dialog.dismiss();
-
-
- }
-
-
- }
- })
- .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
- }
-
- public void initTitlebar() {
- iv_right.setVisibility(View.VISIBLE);
- iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
- iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
- }
-
- /**
- * 鍙戦�佷竴閿懡浠�
- * @param no2
- */
- private void sendYJCmd(int no2){
-
-
- if (no2 > 16|| no2<1 ) {
- Toast("鍦板潃鏁版嵁寮傚父");
- return;
-
- }
-
- ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
- @Override
- public Object doInBackground() throws Throwable {
- writeCmd(CMD.GETINTO);
- Thread.sleep(200);
-
- writeCmd(CMD.CLEAN);
- Thread.sleep(200);
-
- String sNo2 = Integer.toHexString(no2);
- //
- if (sNo2.length() < 2) {
- sNo2 = "0" + sNo2;
- }
-
- String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
- byte[] bytes = invertStringToBytes(cmd);
- String crc = CRCutil.getCRC(bytes);
- String zl = cmd + crc;
- LogUtils.e("reszl", zl);
- Thread.sleep(200);
- writeCmd(zl);
-
- return null;
- }
-
- @Override
- public void onSuccess(Object result) {
-
- }
- });
- Toast("缂栧潃鎸囦护宸插彂閫侊紒");
- }
-
-}
diff --git a/app/src/main/java/com/shlb/comb/activity/WriteActivity.java b/app/src/main/java/com/shlb/comb/activity/WriteActivity.java
deleted file mode 100644
index af7e1e4..0000000
--- a/app/src/main/java/com/shlb/comb/activity/WriteActivity.java
+++ /dev/null
@@ -1,627 +0,0 @@
-package com.shlb.comb.activity;
-
-import android.bluetooth.BluetoothGatt;
-import android.bluetooth.BluetoothGattCharacteristic;
-import android.bluetooth.BluetoothGattService;
-import android.text.InputType;
-import android.util.Log;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
-import com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
-import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
-import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
-import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
-import com.blankj.utilcode.util.LogUtils;
-import com.blankj.utilcode.util.ThreadUtils;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
-import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
-import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
-import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
-import com.shlb.comb.R;
-import com.shlb.comb.base.BaseActivity;
-import com.shlb.comb.event.UpdateEvent;
-import com.shlb.comb.util.CMD;
-import com.shlb.comb.util.CRCutil;
-import com.shlb.comb.util.Singletion;
-
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-public class WriteActivity extends BaseActivity {
-
- QMUIGroupListView mGroupListView;
-
- QMUIRoundButton send;
-
- LinearLayout llRoot;
-
- TextView sendNum;
-
-
- private BluetoothConnectManager connectManager;
- private BluetoothGatt gatt;
-
- private BluetoothGattCharacteristic characteristic;
-
-
- @Override
- protected void contentView() {
- setContentView(R.layout.activity_write);
-
- }
-
- @Override
- protected void initView() {
- super.initHead();
- mGroupListView = findViewById(R.id.groupListView);
- send = findViewById(R.id.send);
- llRoot = findViewById(R.id.ll_root);
- sendNum = findViewById(R.id.sendNum);
- initTitlebar();
- tv_center.setText("缂栧潃");
- initGroupListView();
-
- }
-
- @Override
- protected void initData() {
- String uuid = Singletion.getInstance().uuid;
- initWrite(uuid);
-
-
- }
-
- @Override
- protected void initEvent() {
- send.setOnClickListener(this);
-
- }
-
-
- @Override
- public void onClick(View v) {
- int id = v.getId();
- if (id == R.id.iv_left) {
- finish();
- } else if (id == R.id.btnExit) {
- writeCmd(CMD.EXIT);
- } else if (id == R.id.btnInto) {
- writeCmd(CMD.GETINTO);
- } else if (id == R.id.btnClean) {
- writeCmd(CMD.CLEAN);
- } else if (id == R.id.btn1) {
- sendYJCmd(1);
- } else if (id == R.id.btn2) {
- sendYJCmd(2);
- } else if (id == R.id.btn3) {
- sendYJCmd(3);
- } else if (id == R.id.btn4) {
- sendYJCmd(4);
- } else if (id == R.id.btn5) {
- sendYJCmd(5);
- } else if (id == R.id.btn6) {
- sendYJCmd(6);
- } else if (id == R.id.btn7) {
- sendYJCmd(7);
- } else if (id == R.id.btn8) {
- sendYJCmd(8);
- } else if (id == R.id.btn9) {
- sendYJCmd(9);
- } else if (id == R.id.btn10) {
- sendYJCmd(10);
- } else if (id == R.id.btn11) {
- sendYJCmd(11);
- } else if (id == R.id.btn12) {
- sendYJCmd(12);
- } else if (id == R.id.btn13) {
- sendYJCmd(13);
- } else if (id == R.id.btn14) {
- sendYJCmd(14);
- } else if (id == R.id.btn15) {
- sendYJCmd(15);
- } else if (id == R.id.btn16) {
- sendYJCmd(16);
- } else if (id == R.id.send) {
- switch (curCmd) {
- case -1:
- Toast("璇烽�夋嫨鎸囦护!");
- break;
- case 1:
- //杩涘叆缂栧潃
- writeCmd(CMD.GETINTO);
- break;
- case 2:
- //娓呴櫎鍦板潃
- writeCmd(CMD.CLEAN);
- break;
- case 3:
- String addrNos = item3.getDetailText().toString();
- Integer addrNo = -1;
- try {
- addrNo = Integer.parseInt(addrNos);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (addrNo == -1) {
- Toast("鍦板潃鏁版嵁寮傚父");
- return;
-
- }
- String sNo = Integer.toHexString(addrNo);
- if (sNo.length() < 2) {
- sNo = "0" + sNo;
- }
-
- String cmd = CMD.ADDR_PREFIX + sNo + CMD.ADDR_SUFFIX;
- byte[] bytes = invertStringToBytes(cmd);
- String crc = CRCutil.getCRC(bytes);
- String zl = cmd + crc;
- LogUtils.e("reszl", zl);
- writeCmd(zl);
- Toast("缂栧潃鎸囦护宸插彂閫侊紒");
- break;
- case 4:
- //閫�鍑虹紪鍧�
- writeCmd(CMD.EXIT);
- break;
- case 5:
- String addrNos2 = item5.getDetailText().toString();
- Integer addrNo2 = -1;
- try {
- addrNo2 = Integer.parseInt(addrNos2);
- } catch (Exception e) {
- e.printStackTrace();
- }
- final Integer no2 = addrNo2;
- if (no2 == -1) {
- Toast("鍦板潃鏁版嵁寮傚父");
- return;
-
- }
-
- ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
- @Override
- public Object doInBackground() throws Throwable {
- writeCmd(CMD.GETINTO);
- Thread.sleep(200);
-
- writeCmd(CMD.CLEAN);
- Thread.sleep(200);
-
- String sNo2 = Integer.toHexString(no2);
- //
- if (sNo2.length() < 2) {
- sNo2 = "0" + sNo2;
- }
-
- String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
- byte[] bytes = invertStringToBytes(cmd);
- String crc = CRCutil.getCRC(bytes);
- String zl = cmd + crc;
- LogUtils.e("reszl", zl);
- Thread.sleep(200);
- writeCmd(zl);
-
- return null;
- }
-
- @Override
- public void onSuccess(Object result) {
-
- }
- });
- Toast("缂栧潃鎸囦护宸插彂閫侊紒");
- break;
- }
- }
- }
-
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEventReceiveNotify(UpdateEvent event) {
- if (event != null && event.getType() == UpdateEvent.Type.BLE_DATA) {
- BluetoothGattCharacteristic characteristic = (BluetoothGattCharacteristic) event.getObj();
- final byte[] dataArr = characteristic.getValue();
- final String flag = event.getMsg();
- if (dataArr != null && dataArr.length > 0) {
- if (flag.equals("read")) {
- } else if (flag.equals("write")) {
- } else if (flag.equals("notify")) {
- //杩斿洖缁撴灉
- String crc = CRCutil.getCRC(dataArr);
- LogUtils.e("resCRC", crc);
- //CRC璁$畻缁撴灉涓�0鏃跺懡浠ゆ墽琛屾垚鍔燂紝鑷姩鎵ц閫�鍑哄懡浠�
- if (crc.equals("0")) {
- writeCmd(CMD.EXIT);
- Toast("鎿嶄綔鎴愬姛锛岃嚜鍔ㄦ墽琛岄��鍑虹紪鍧�鎸囦护");
- curCmd = -1;
- item6.setText("缂栧潃鎴愬姛");
- }
- //璁$畻杩斿洖涓�0鏃� 鑷姩閫�鍑�
-
- LogUtils.e("res", ByteUtils.byteArrayToHexString(dataArr));
- } else {
-
- Toast("瑙f瀽杩斿洖淇℃伅澶辫触锛�");
- }
- } else {
- Toast("杩斿洖淇℃伅涓虹┖锛�");
- }
- }
- }
-
- QMUICommonListItemView item1;
- QMUICommonListItemView item2;
- QMUICommonListItemView item3;
- QMUICommonListItemView item4;
- QMUICommonListItemView item5;
- QMUICommonListItemView item6;
- View.OnClickListener onClickListener;
- int curCmd = -1;
-
- String[] cmdName = {"杩涘叆缂栧潃", "娓呴櫎鍦板潃", "缂栬緫鍦板潃", "閫�鍑虹紪鍧�", "涓�閿紪鍧�"};
-
- private void initGroupListView() {
- item1 = mGroupListView.createItemView(null,
- cmdName[0], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item2 = mGroupListView.createItemView(null,
- cmdName[1], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item3 = mGroupListView.createItemView(null,
- cmdName[2], "鐐瑰嚮閫夋嫨缂栧彿",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
- item4 = mGroupListView.createItemView(null,
- cmdName[3], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
-
- onClickListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (v instanceof QMUICommonListItemView) {
- CharSequence text = ((QMUICommonListItemView) v).getText();
- //杩涘叆缂栧潃
- if (text.equals(cmdName[0])) {
- curCmd = 1;
- item6.setText(cmdName[0]);
- item6.setDetailText("");
- //娓呴櫎鍦板潃
- } else if (text.equals(cmdName[1])) {
- curCmd = 2;
- item6.setText(cmdName[1]);
- item6.setDetailText("");
- //缂栬緫鍦板潃
- } else if (text.equals(cmdName[2])) {
- showEditTextDialog();
- //閫�鍑虹紪鍧�
- } else if (text.equals(cmdName[3])) {
- curCmd = 4;
- item6.setText(cmdName[3]);
- item6.setDetailText("");
- //涓�閿紪鍧�
- } else if (text.equals(cmdName[4])) {
- showQuickDialog();
- }
-
-
- }
- }
- };
-
- int size = QMUIDisplayHelper.dp2px(this, 20);
- QMUIGroupListView.newSection(this)
- .setTitle("Section 1:鎿嶄綔鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item1, onClickListener)
- .addItemView(item2, onClickListener)
- .addItemView(item3, onClickListener)
- .addItemView(item4, onClickListener)
- .addTo(mGroupListView);
-
- item5 = mGroupListView.createItemView(cmdName[4]);
- item5.setOrientation(QMUICommonListItemView.VERTICAL);
- item5.setDetailText("杩涘叆-娓呴櫎-缂栧潃-閫�鍑�");
- item5.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item6 = mGroupListView.createItemView("寰呴�夋嫨");
- item6.setOrientation(QMUICommonListItemView.HORIZONTAL);
-
-
- QMUIGroupListView.newSection(this)
- .setTitle("Section 2:蹇嵎鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item5, onClickListener)
- .addTo(mGroupListView);
-
- QMUIGroupListView.newSection(this)
- .setTitle("Section 3:褰撳墠鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item6, onClickListener)
- .addTo(mGroupListView);
-
- }
-
- /**
- * 鍒濆鍖栧啓鍏ユ湇鍔�
- *
- * @param uu
- */
- private void initWrite(String uu) {
- BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
- connectManager = BluetoothConnectManager.getInstance(this);
- connectManager.addConnectStateListener(listener);
- String uuid = uu;
- UUID serverUUid = null;
- gatt = connectManager.getBluetoothGatt(mDevice.getAddress());
- if (gatt != null) {
- List<BluetoothGattService> list = gatt.getServices();
- if (list != null) {
- for (BluetoothGattService service : list) {
- for (BluetoothGattCharacteristic characteristics : service.getCharacteristics()) {
- if (characteristics.getUuid().toString().equals(uuid)) {
- characteristic = characteristics;
- serverUUid = service.getUuid();
- break;
- }
- }
- }
- }
- }
- if (serverUUid == null) {
- Toast("serverUUid涓嶈兘涓虹┖!");
- return;
- }
- //1.set service uuid
- connectManager.setServiceUUID(serverUUid.toString());
- //2.clean history descriptor data
- connectManager.cleanSubscribeData();
- //3.add subscribe params
- if (BluetoothUtils.isCharacteristicRead(characteristic.getProperties())) {
- connectManager.addBluetoothSubscribeData(
- new BluetoothSubScribeData.Builder().setCharacteristicRead(characteristic.getUuid()).build());
- }
- if (BluetoothUtils.isCharacteristicNotify(characteristic.getProperties())) {
- connectManager.addBluetoothSubscribeData(
- new BluetoothSubScribeData.Builder().setCharacteristicNotify(characteristic.getUuid()).build()
- );
- }
-
- connectManager.startSubscribe(gatt);
- }
-
- private void writeCmd(String cmd) {
- int len = cmd.length();
- if (len > 0 && len % 2 == 0) {
- byte[] bytes = invertStringToBytes(cmd);
- if (bytes != null) {
- characteristic.setValue(bytes);
- gatt.writeCharacteristic(characteristic);
- runOnUiThread(() -> {
- item6.setDetailText(item6.getDetailText() + " 宸插彂閫�");
- });
- } else {
- Log.e("tag", "write value fail");
- }
- } else {
-
- runOnUiThread(() -> {
- Toast("鎸囦护閿欒锛�");
- });
- }
- }
-
- private byte[] invertStringToBytes(String value) {
- int len = value.length() / 2;
- if (len > 0) {
- byte[] bytes = new byte[len];
- for (int i = 0; i < len; i++) {
- Integer val = Integer.valueOf(value.substring(i * 2, i * 2 + 2), 16);
- bytes[i] = val.byteValue();
- }
- return bytes;
- }
- return null;
- }
-
- private List<Map<String, Object>> getWriteData() {
- List<Map<String, Object>> res = new ArrayList<>();
- Map<String, Object> map1 = new HashMap<>();
- map1.put("name", "杩涘叆缂栧潃鐘舵��");
- map1.put("flag", "0");
- map1.put("value", "A55A060100000000002F35");
- res.add(map1);
- Map<String, Object> map2 = new HashMap<>();
- map2.put("name", "閫�鍑虹紪鍧�鐘舵��");
- map2.put("flag", "0");
- map2.put("value", "A55A060400000000002F60");
- res.add(map2);
- Map<String, Object> map3 = new HashMap<>();
- map3.put("name", "缂栧潃");
- map3.put("flag", "0");
- map3.put("value", "A55A060300020000002F6F");
- res.add(map3);
- Map<String, Object> map4 = new HashMap<>();
- map4.put("name", "娓呴櫎鍦板潃");
- map4.put("flag", "0");
- map4.put("value", "A55A060200000000002F06");
- res.add(map4);
- return res;
-
- }
-
- private ConnectStateListener listener = new ConnectStateListener() {
- @Override
- public void onConnectStateChanged(String address, ConnectState state) {
- switch (state) {
- case CONNECTED:
- break;
- case CONNECTING:
- break;
- case NORMAL:
- break;
- }
- }
- };
-
- /**
- * 杈撳叆缂栧潃搴忓彿鍚� 鎵ц缂栧潃鎸囦护
- */
- private void showEditTextDialog() {
- final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
- builder.setTitle("鎻愮ず")
- .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
- .setInputType(InputType.TYPE_CLASS_TEXT)
- .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- dialog.dismiss();
- }
- })
- .addAction("纭畾", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- String text = builder.getEditText().getText().toString();
- Integer res = -1;
- try {
- res = Integer.parseInt(text);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (res == null || res < 0 || res > 16) {
- Toast("璇疯緭鍏�1-16鏁板瓧");
- } else {
- item3.setDetailText(text);
- curCmd = 3;
- item6.setText(cmdName[2]);
- item6.setDetailText(text);
- dialog.dismiss();
-
- }
-
-
- }
- })
- .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
- }
-
- /**
- * 杈撳叆缂栧潃搴忓彿鍚� 涓�閿墽琛屾墍鏈夋寚浠�
- */
- private void showQuickDialog() {
- final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
- builder.setTitle("鎻愮ず")
- .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
- .setInputType(InputType.TYPE_CLASS_TEXT)
- .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- dialog.dismiss();
- }
- })
- .addAction("纭畾", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- String text = builder.getEditText().getText().toString();
- Integer addrrNo = -1;
- try {
- addrrNo = Integer.parseInt(text);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (addrrNo == null || addrrNo < 0 || addrrNo > 16) {
- Toast("璇疯緭鍏�1-16鏁板瓧");
- } else {
- curCmd = 5;
- item5.setDetailText(text);
- item6.setText(cmdName[4]);
- item6.setDetailText(text);
- dialog.dismiss();
-
-
- }
-
-
- }
- })
- .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
- }
-
- public void initTitlebar() {
- iv_right.setVisibility(View.VISIBLE);
- iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
- iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
- }
-
- /**
- * 鍙戦�佷竴閿懡浠�
- * @param no2
- */
- private void sendYJCmd(int no2){
- sendNum.setText(no2+"");
-
-
- if (no2 > 16|| no2<1 ) {
- Toast("鍦板潃鏁版嵁寮傚父");
- return;
-
- }
-
- ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
- @Override
- public Object doInBackground() throws Throwable {
- writeCmd(CMD.GETINTO);
- Thread.sleep(200);
-
- writeCmd(CMD.CLEAN);
- Thread.sleep(200);
-
- String sNo2 = Integer.toHexString(no2);
- //
- if (sNo2.length() < 2) {
- sNo2 = "0" + sNo2;
- }
-
- String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
- byte[] bytes = invertStringToBytes(cmd);
- String crc = CRCutil.getCRC(bytes);
- String zl = cmd + crc;
- LogUtils.e("reszl", zl);
- Thread.sleep(200);
- writeCmd(zl);
-
- return null;
- }
-
- @Override
- public void onSuccess(Object result) {
-
- }
- });
- Toast("缂栧潃鎸囦护宸插彂閫侊紒");
- }
-
-}
diff --git a/app/src/main/java/com/shlb/comb/activity/WriteActivity2.java b/app/src/main/java/com/shlb/comb/activity/WriteActivity2.java
deleted file mode 100644
index 0fee50d..0000000
--- a/app/src/main/java/com/shlb/comb/activity/WriteActivity2.java
+++ /dev/null
@@ -1,531 +0,0 @@
-package com.shlb.comb.activity;
-
-import android.bluetooth.BluetoothGatt;
-import android.bluetooth.BluetoothGattCharacteristic;
-import android.bluetooth.BluetoothGattService;
-import android.text.InputType;
-import android.util.Log;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.blakequ.bluetooth_manager_lib.connect.BluetoothConnectManager;
-import com.blakequ.bluetooth_manager_lib.connect.BluetoothSubScribeData;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectState;
-import com.blakequ.bluetooth_manager_lib.connect.ConnectStateListener;
-import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
-import com.blakequ.bluetooth_manager_lib.util.BluetoothUtils;
-import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
-import com.blankj.utilcode.util.LogUtils;
-import com.blankj.utilcode.util.ThreadUtils;
-import com.qmuiteam.qmui.util.QMUIDisplayHelper;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
-import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
-import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
-import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
-import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton;
-import com.shlb.comb.R;
-import com.shlb.comb.base.BaseActivity;
-import com.shlb.comb.event.UpdateEvent;
-import com.shlb.comb.util.CMD;
-import com.shlb.comb.util.CRCutil;
-import com.shlb.comb.util.Singletion;
-
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-public class WriteActivity2 extends BaseActivity {
-
- QMUIGroupListView mGroupListView;
-
- QMUIRoundButton send;
-
- private BluetoothConnectManager connectManager;
- private BluetoothGatt gatt;
-
- private BluetoothGattCharacteristic characteristic;
-
-
- @Override
- protected void contentView() {
- setContentView(R.layout.activity_write);
-
- }
-
- @Override
- protected void initView() {
- super.initHead();
- mGroupListView = findViewById(R.id.groupListView);
- send = findViewById(R.id.send);
- initTitlebar();
- tv_center.setText("缂栧潃");
- initGroupListView();
-
- }
-
- @Override
- protected void initData() {
- String uuid = Singletion.getInstance().uuid;
- initWrite(uuid);
-
-
- }
-
- @Override
- protected void initEvent() {
- send.setOnClickListener(this);
-
- }
-
-
- @Override
- public void onClick(View v) {
- int id = v.getId();
- if (id == R.id.iv_left) {
- finish();
- } else if (id == R.id.iv_right) {
- } else if (id == R.id.send) {
- switch (curCmd){
- case -1:
- Toast("璇烽�夋嫨鎸囦护!");
- break;
- case 1:
- //杩涘叆缂栧潃
- writeCmd(CMD.GETINTO);
- break;
- case 2:
- //娓呴櫎鍦板潃
- writeCmd(CMD.CLEAN);
- break;
- case 3:
- String addrNos = item3.getDetailText().toString();
- Integer addrNo = -1;
- try {
- addrNo = Integer.parseInt(addrNos);
- }catch (Exception e){
- e.printStackTrace();
- }
- if(addrNo == -1 ){
- Toast("鍦板潃鏁版嵁寮傚父");
- return;
-
- }
- String sNo = Integer.toHexString(addrNo);
- if(sNo.length()<2){
- sNo = "0" + sNo;
- }
-
- String cmd = CMD.ADDR_PREFIX + sNo + CMD.ADDR_SUFFIX;
- byte[] bytes = invertStringToBytes(cmd);
- String crc = CRCutil.getCRC(bytes);
- String zl = cmd + crc;
- LogUtils.e("reszl", zl);
- writeCmd(zl);
- Toast("缂栧潃鎸囦护宸插彂閫侊紒");
- break;
- case 4:
- //閫�鍑虹紪鍧�
- writeCmd(CMD.EXIT);
- break;
- case 5:
- String addrNos2 = item5.getDetailText().toString();
- Integer addrNo2 = -1;
- try {
- addrNo2 = Integer.parseInt(addrNos2);
- }catch (Exception e){
- e.printStackTrace();
- }
- final Integer no2 = addrNo2;
- if(no2 == -1 ){
- Toast("鍦板潃鏁版嵁寮傚父");
- return;
-
- }
-
- ThreadUtils.executeBySingle(new ThreadUtils.SimpleTask<Object>() {
- @Override
- public Object doInBackground() throws Throwable {
- writeCmd(CMD.GETINTO);
- Thread.sleep(200);
-
- writeCmd(CMD.CLEAN);
- Thread.sleep(200);
-
- String sNo2 = Integer.toHexString(no2);
- //
- if(sNo2.length()<2){
- sNo2 = "0" + sNo2;
- }
-
- String cmd = CMD.ADDR_PREFIX + sNo2 + CMD.ADDR_SUFFIX;
- byte[] bytes = invertStringToBytes(cmd);
- String crc = CRCutil.getCRC(bytes);
- String zl = cmd + crc;
- LogUtils.e("reszl", zl);
- Thread.sleep(200);
- writeCmd(zl);
-
- return null;
- }
-
- @Override
- public void onSuccess(Object result) {
-
- }
- });
- Toast("缂栧潃鎸囦护宸插彂閫侊紒");
- break;
- }
- }
- }
-
-
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEventReceiveNotify(UpdateEvent event) {
- if (event != null && event.getType() == UpdateEvent.Type.BLE_DATA) {
- BluetoothGattCharacteristic characteristic = (BluetoothGattCharacteristic) event.getObj();
- final byte[] dataArr = characteristic.getValue();
- final String flag = event.getMsg();
- if (dataArr != null && dataArr.length > 0) {
- if (flag.equals("read")) {
- } else if (flag.equals("write")) {
- } else if (flag.equals("notify")) {
- //杩斿洖缁撴灉
- String crc = CRCutil.getCRC(dataArr);
- LogUtils.e("resCRC", crc);
- //CRC璁$畻缁撴灉涓�0鏃跺懡浠ゆ墽琛屾垚鍔燂紝鑷姩鎵ц閫�鍑哄懡浠�
- if (crc.equals("0")) {
- writeCmd(CMD.EXIT);
- Toast("鎿嶄綔鎴愬姛锛岃嚜鍔ㄦ墽琛岄��鍑虹紪鍧�鎸囦护");
- curCmd = -1;
- item6.setText("缂栧潃鎴愬姛");
- }
- //璁$畻杩斿洖涓�0鏃� 鑷姩閫�鍑�
-
- LogUtils.e("res", ByteUtils.byteArrayToHexString(dataArr));
- } else {
-
- Toast("瑙f瀽杩斿洖淇℃伅澶辫触锛�");
- }
- } else {
- Toast("杩斿洖淇℃伅涓虹┖锛�");
- }
- }
- }
-
- QMUICommonListItemView item1;
- QMUICommonListItemView item2;
- QMUICommonListItemView item3;
- QMUICommonListItemView item4;
- QMUICommonListItemView item5;
- QMUICommonListItemView item6;
- View.OnClickListener onClickListener;
- int curCmd = -1;
-
- String[] cmdName = {"杩涘叆缂栧潃", "娓呴櫎鍦板潃", "缂栬緫鍦板潃", "閫�鍑虹紪鍧�", "涓�閿紪鍧�"};
- private void initGroupListView() {
- item1 = mGroupListView.createItemView(null,
- cmdName[0], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item2 = mGroupListView.createItemView(null,
- cmdName[1], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item3 = mGroupListView.createItemView(null,
- cmdName[2], "鐐瑰嚮閫夋嫨缂栧彿",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
- item4 = mGroupListView.createItemView(null,
- cmdName[3], "",
- QMUICommonListItemView.HORIZONTAL,
- QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
-
- onClickListener = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (v instanceof QMUICommonListItemView) {
- CharSequence text = ((QMUICommonListItemView) v).getText();
- //杩涘叆缂栧潃
- if (text.equals(cmdName[0])) {
- curCmd = 1;
- item6.setText(cmdName[0]);
- item6.setDetailText("");
- //娓呴櫎鍦板潃
- } else if (text.equals(cmdName[1])) {
- curCmd = 2;
- item6.setText(cmdName[1]);
- item6.setDetailText("");
- //缂栬緫鍦板潃
- } else if (text.equals(cmdName[2])) {
- showEditTextDialog();
- //閫�鍑虹紪鍧�
- } else if (text.equals(cmdName[3])) {
- curCmd = 4;
- item6.setText(cmdName[3]);
- item6.setDetailText("");
- //涓�閿紪鍧�
- }else if (text.equals(cmdName[4])) {
- showQuickDialog();
- }
-
-
- }
- }
- };
-
- int size = QMUIDisplayHelper.dp2px(this, 20);
- QMUIGroupListView.newSection(this)
- .setTitle("Section 1:鎿嶄綔鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item1, onClickListener)
- .addItemView(item2, onClickListener)
- .addItemView(item3, onClickListener)
- .addItemView(item4, onClickListener)
- .addTo(mGroupListView);
-
- item5 = mGroupListView.createItemView(cmdName[4]);
- item5.setOrientation(QMUICommonListItemView.VERTICAL);
- item5.setDetailText("杩涘叆-娓呴櫎-缂栧潃-閫�鍑�");
- item5.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
-
- item6 = mGroupListView.createItemView("寰呴�夋嫨");
- item6.setOrientation(QMUICommonListItemView.HORIZONTAL);
-
-
- QMUIGroupListView.newSection(this)
- .setTitle("Section 2:蹇嵎鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item5, onClickListener)
- .addTo(mGroupListView);
-
- QMUIGroupListView.newSection(this)
- .setTitle("Section 3:褰撳墠鎸囦护")
- .setDescription("")
- .setLeftIconSize(size, ViewGroup.LayoutParams.WRAP_CONTENT)
- .addItemView(item6, onClickListener)
- .addTo(mGroupListView);
-
- }
-
- /**
- * 鍒濆鍖栧啓鍏ユ湇鍔�
- *
- * @param uu
- */
- private void initWrite(String uu) {
- BluetoothLeDevice mDevice = Singletion.getInstance().mDevice;
- connectManager = BluetoothConnectManager.getInstance(this);
- connectManager.addConnectStateListener(listener);
- String uuid = uu;
- UUID serverUUid = null;
- gatt = connectManager.getBluetoothGatt(mDevice.getAddress());
- if (gatt != null) {
- List<BluetoothGattService> list = gatt.getServices();
- if (list != null) {
- for (BluetoothGattService service : list) {
- for (BluetoothGattCharacteristic characteristics : service.getCharacteristics()) {
- if (characteristics.getUuid().toString().equals(uuid)) {
- characteristic = characteristics;
- serverUUid = service.getUuid();
- break;
- }
- }
- }
- }
- }
- if (serverUUid == null) {
- Toast("serverUUid涓嶈兘涓虹┖!");
- return;
- }
- //1.set service uuid
- connectManager.setServiceUUID(serverUUid.toString());
- //2.clean history descriptor data
- connectManager.cleanSubscribeData();
- //3.add subscribe params
- if (BluetoothUtils.isCharacteristicRead(characteristic.getProperties())) {
- connectManager.addBluetoothSubscribeData(
- new BluetoothSubScribeData.Builder().setCharacteristicRead(characteristic.getUuid()).build());
- }
- if (BluetoothUtils.isCharacteristicNotify(characteristic.getProperties())) {
- connectManager.addBluetoothSubscribeData(
- new BluetoothSubScribeData.Builder().setCharacteristicNotify(characteristic.getUuid()).build()
- );
- }
-
- connectManager.startSubscribe(gatt);
- }
-
- private void writeCmd(String cmd) {
- int len = cmd.length();
- if (len > 0 && len % 2 == 0) {
- byte[] bytes = invertStringToBytes(cmd);
- if (bytes != null) {
- characteristic.setValue(bytes);
- gatt.writeCharacteristic(characteristic);
- runOnUiThread(()->{
- item6.setDetailText(item6.getDetailText()+" 宸插彂閫�");
- });
- } else {
- Log.e("tag", "write value fail");
- }
- } else {
-
- runOnUiThread(()->{
- Toast("鎸囦护閿欒锛�");
- });
- }
- }
-
- private byte[] invertStringToBytes(String value) {
- int len = value.length() / 2;
- if (len > 0) {
- byte[] bytes = new byte[len];
- for (int i = 0; i < len; i++) {
- Integer val = Integer.valueOf(value.substring(i * 2, i * 2 + 2), 16);
- bytes[i] = val.byteValue();
- }
- return bytes;
- }
- return null;
- }
-
- private List<Map<String, Object>> getWriteData() {
- List<Map<String, Object>> res = new ArrayList<>();
- Map<String, Object> map1 = new HashMap<>();
- map1.put("name", "杩涘叆缂栧潃鐘舵��");
- map1.put("flag", "0");
- map1.put("value", "A55A060100000000002F35");
- res.add(map1);
- Map<String, Object> map2 = new HashMap<>();
- map2.put("name", "閫�鍑虹紪鍧�鐘舵��");
- map2.put("flag", "0");
- map2.put("value", "A55A060400000000002F60");
- res.add(map2);
- Map<String, Object> map3 = new HashMap<>();
- map3.put("name", "缂栧潃");
- map3.put("flag", "0");
- map3.put("value", "A55A060300020000002F6F");
- res.add(map3);
- Map<String, Object> map4 = new HashMap<>();
- map4.put("name", "娓呴櫎鍦板潃");
- map4.put("flag", "0");
- map4.put("value", "A55A060200000000002F06");
- res.add(map4);
- return res;
-
- }
-
- private ConnectStateListener listener = new ConnectStateListener() {
- @Override
- public void onConnectStateChanged(String address, ConnectState state) {
- switch (state) {
- case CONNECTED:
- break;
- case CONNECTING:
- break;
- case NORMAL:
- break;
- }
- }
- };
-
- /**
- * 杈撳叆缂栧潃搴忓彿鍚� 鎵ц缂栧潃鎸囦护
- */
- private void showEditTextDialog() {
- final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
- builder.setTitle("鎻愮ず")
- .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
- .setInputType(InputType.TYPE_CLASS_TEXT)
- .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- dialog.dismiss();
- }
- })
- .addAction("纭畾", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- String text = builder.getEditText().getText().toString();
- Integer res = -1;
- try {
- res = Integer.parseInt(text);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (res == null || res < 0 || res > 16) {
- Toast("璇疯緭鍏�1-16鏁板瓧");
- } else {
- item3.setDetailText(text);
- curCmd = 3;
- item6.setText(cmdName[2]);
- item6.setDetailText(text);
- dialog.dismiss();
-
- }
-
-
- }
- })
- .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
- }
-
- /**
- * 杈撳叆缂栧潃搴忓彿鍚� 涓�閿墽琛屾墍鏈夋寚浠�
- */
- private void showQuickDialog() {
- final QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(this);
- builder.setTitle("鎻愮ず")
- .setPlaceholder("璇疯緭鍏ョ紪鍧�鍙风爜(1-16)")
- .setInputType(InputType.TYPE_CLASS_TEXT)
- .addAction("鍙栨秷", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- dialog.dismiss();
- }
- })
- .addAction("纭畾", new QMUIDialogAction.ActionListener() {
- @Override
- public void onClick(QMUIDialog dialog, int index) {
- String text = builder.getEditText().getText().toString();
- Integer addrrNo = -1;
- try {
- addrrNo = Integer.parseInt(text);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (addrrNo == null || addrrNo < 0 || addrrNo > 16) {
- Toast("璇疯緭鍏�1-16鏁板瓧");
- } else {
- curCmd = 5;
- item5.setDetailText(text);
- item6.setText(cmdName[4]);
- item6.setDetailText(text);
- dialog.dismiss();
-
-
- }
-
-
- }
- })
- .create(com.qmuiteam.qmui.R.style.QMUI_Dialog).show();
- }
-
- public void initTitlebar() {
- iv_right.setVisibility(View.VISIBLE);
- iv_left.setImageDrawable(getResources().getDrawable(R.mipmap.icon_back));
- iv_right.setImageDrawable(getResources().getDrawable(R.mipmap.icon_topbar_overflow));
- }
-}
diff --git a/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter.java b/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter.java
deleted file mode 100644
index 5d5d56b..0000000
--- a/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.shlb.comb.adapter;
-
-import android.content.Context;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-
-import com.blakequ.bluetooth_manager_lib.device.BeaconType;
-import com.blakequ.bluetooth_manager_lib.device.BeaconUtils;
-import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
-import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord;
-import com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice;
-import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
-import com.shlb.comb.R;
-import com.shlb.comb.util.Constants;
-
-
-public class DeviceListAdapter extends BaseArrayListAdapter<BluetoothLeDevice>{
-
- private int scrodKey;
- public DeviceListAdapter(Context context) {
- super(context);
- }
-
- public void updateConfig(int scrodKey){
- this.scrodKey = scrodKey;
- }
-
- @Override
- public View getView(int position, View view, ViewGroup parent) {
- final ViewHolder viewHolder;
- // General ListView optimization code.
- if (view == null) {
- view = mInflater.inflate(R.layout.dialog_layout_bluetooth_item, null);
- viewHolder = new ViewHolder();
- viewHolder.deviceAddress = (TextView) view.findViewById(R.id.device_address);
- viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name);
- viewHolder.deviceIcon = (ImageView) view.findViewById(R.id.device_icon);
-
- view.setTag(viewHolder);
- } else {
- viewHolder = (ViewHolder) view.getTag();
- }
-
- final BluetoothLeDevice device = (BluetoothLeDevice) getItem(position);
- final String deviceName = device.getName();
- final double rssi = device.getRssi();
-
- if (deviceName != null && deviceName.length() > 0) {
- viewHolder.deviceName.setText(deviceName);
- } else {
- viewHolder.deviceName.setText(R.string.unknown_device);
- }
-
-
-
-
-
- return view;
- }
-
- public double calculateAccuracy(final int txPower, final double rssi) {
- if (rssi == 0) {
- return 0; // if we cannot determine accuracy, return -1.
- }
-
- final double ratio = rssi * 1.0 / txPower;
- if (ratio < 1.0) {
- return Math.pow(ratio, 10);
- } else {
- return (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
- }
- }
-
- static class ViewHolder {
- TextView deviceName;
- TextView deviceAddress;
- ImageView deviceIcon;
-
- }
-}
diff --git a/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter2.java b/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter2.java
deleted file mode 100644
index 0068a2d..0000000
--- a/app/src/main/java/com/shlb/comb/adapter/DeviceListAdapter2.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package com.shlb.comb.adapter;
-
-import android.content.Context;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.blakequ.bluetooth_manager_lib.device.BeaconType;
-import com.blakequ.bluetooth_manager_lib.device.BeaconUtils;
-import com.blakequ.bluetooth_manager_lib.device.BluetoothLeDevice;
-import com.blakequ.bluetooth_manager_lib.device.adrecord.AdRecord;
-import com.blakequ.bluetooth_manager_lib.device.ibeacon.IBeaconDevice;
-import com.blakequ.bluetooth_manager_lib.util.ByteUtils;
-import com.shlb.comb.R;
-import com.shlb.comb.util.Constants;
-
-
-public class DeviceListAdapter2 extends BaseArrayListAdapter<BluetoothLeDevice>{
-
- private int scrodKey;
- public DeviceListAdapter2(Context context) {
- super(context);
- }
-
- public void updateConfig(int scrodKey){
- this.scrodKey = scrodKey;
- }
-
- @Override
- public View getView(int position, View view, ViewGroup parent) {
- final ViewHolder viewHolder;
- // General ListView optimization code.
- if (view == null) {
- view = mInflater.inflate(R.layout.list_item_device, null);
- viewHolder = new ViewHolder();
- viewHolder.deviceAddress = (TextView) view.findViewById(R.id.device_address);
- viewHolder.deviceName = (TextView) view.findViewById(R.id.device_name);
- viewHolder.deviceRssi = (TextView) view.findViewById(R.id.device_rssi);
- viewHolder.deviceIcon = (ImageView) view.findViewById(R.id.device_icon);
- viewHolder.deviceLastUpdated = (TextView) view.findViewById(R.id.device_last_update);
- viewHolder.ibeaconMajor = (TextView) view.findViewById(R.id.ibeacon_major);
- viewHolder.ibeaconMinor = (TextView) view.findViewById(R.id.ibeacon_minor);
- viewHolder.ibeaconDistance = (TextView) view.findViewById(R.id.ibeacon_distance);
- viewHolder.ibeaconUUID = (TextView) view.findViewById(R.id.ibeacon_uuid);
- viewHolder.ibeaconTxPower = (TextView) view.findViewById(R.id.ibeacon_tx_power);
- viewHolder.ibeaconSection = view.findViewById(R.id.ibeacon_section);
- viewHolder.ibeaconDistanceDescriptor = (TextView) view.findViewById(R.id.ibeacon_distance_descriptor);
- viewHolder.deviceRecord = (TextView) view.findViewById(R.id.ibeacon_scan_record);
- view.setTag(viewHolder);
- } else {
- viewHolder = (ViewHolder) view.getTag();
- }
-
- final BluetoothLeDevice device = (BluetoothLeDevice) getItem(position);
- final String deviceName = device.getName();
- final double rssi = device.getRssi();
-
- if (deviceName != null && deviceName.length() > 0) {
- viewHolder.deviceName.setText(deviceName);
- } else {
- viewHolder.deviceName.setText(R.string.unknown_device);
- }
-
- if (BeaconUtils.getBeaconType(device) == BeaconType.IBEACON) {
- final IBeaconDevice iBeacon = new IBeaconDevice(device);
- final String accuracy = Constants.DOUBLE_TWO_DIGIT_ACCURACY.format(iBeacon.getAccuracy());
-
- viewHolder.deviceIcon.setImageResource(R.mipmap.ic_device_ibeacon);
- viewHolder.ibeaconSection.setVisibility(View.VISIBLE);
- viewHolder.ibeaconMajor.setText(String.valueOf(iBeacon.getMajor()));
- viewHolder.ibeaconMinor.setText(String.valueOf(iBeacon.getMinor()));
- viewHolder.ibeaconTxPower.setText(String.valueOf(iBeacon.getCalibratedTxPower()));
- viewHolder.ibeaconUUID.setText(iBeacon.getUUID());
- viewHolder.ibeaconDistance.setText(
- mContext.getString(R.string.formatter_meters, accuracy));
- viewHolder.ibeaconDistanceDescriptor.setText(iBeacon.getDistanceDescriptor().toString());
- } else {
- viewHolder.deviceIcon.setImageResource(R.mipmap.ic_bluetooth);
- viewHolder.ibeaconSection.setVisibility(View.GONE);
- }
-
- final String rssiString =
- mContext.getString(R.string.formatter_db, String.valueOf(rssi));
- final String runningAverageRssiString =
- mContext.getString(R.string.formatter_db, String.valueOf(device.getRunningAverageRssi()));
-
- viewHolder.deviceLastUpdated.setText(
- android.text.format.DateFormat.format(
- Constants.TIME_FORMAT, new java.util.Date(device.getTimestamp())));
- viewHolder.deviceAddress.setText(device.getAddress());
- viewHolder.deviceRssi.setText(rssiString + " / " + runningAverageRssiString);
-
- //add for test
- if (scrodKey != -1){
- AdRecord record = device.getAdRecordStore().getRecord(scrodKey);
- if (record != null) {
- viewHolder.deviceRecord.setVisibility(View.VISIBLE);
- viewHolder.deviceRecord.setText(record.getHumanReadableType()+"锛�"+ByteUtils.byteArrayToHexString(record.getData()));
- }else {
- viewHolder.deviceRecord.setVisibility(View.GONE);
- }
- }else {
- viewHolder.deviceRecord.setVisibility(View.GONE);
- }
- return view;
- }
-
- public double calculateAccuracy(final int txPower, final double rssi) {
- if (rssi == 0) {
- return 0; // if we cannot determine accuracy, return -1.
- }
-
- final double ratio = rssi * 1.0 / txPower;
- if (ratio < 1.0) {
- return Math.pow(ratio, 10);
- } else {
- return (0.89976) * Math.pow(ratio, 7.7095) + 0.111;
- }
- }
-
- static class ViewHolder {
- TextView deviceName;
- TextView deviceAddress;
- TextView deviceRssi;
- TextView ibeaconUUID;
- TextView ibeaconMajor;
- TextView ibeaconMinor;
- TextView ibeaconTxPower;
- TextView ibeaconDistance;
- TextView ibeaconDistanceDescriptor;
- TextView deviceLastUpdated;
- View ibeaconSection;
- ImageView deviceIcon;
- TextView deviceRecord;
- }
-}
diff --git a/app/src/main/java/com/shlb/comb/adapter/WriteAdapter.java b/app/src/main/java/com/shlb/comb/adapter/WriteAdapter.java
deleted file mode 100644
index 95f4581..0000000
--- a/app/src/main/java/com/shlb/comb/adapter/WriteAdapter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.shlb.comb.adapter;
-
-
-import android.view.View;
-
-import androidx.annotation.NonNull;
-
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.chad.library.adapter.base.viewholder.BaseViewHolder;
-import com.shlb.comb.R;
-import com.shlb.comb.model.HomeItem;
-
-import java.util.List;
-import java.util.Map;
-
-
-public class WriteAdapter extends BaseQuickAdapter<Map<String,Object>, BaseViewHolder> {
- public WriteAdapter(int layoutResId, List data) {
- super(layoutResId, data);
- }
-
- @Override
- protected void convert(@NonNull BaseViewHolder helper, Map<String,Object> item) {
- helper.setText(R.id.name, item.get("name").toString());
- if("1" == item.get("flag").toString()){
- helper.getView(R.id.logo).setVisibility(View.VISIBLE);
- }else {
- helper.getView(R.id.logo).setVisibility(View.GONE);
- }
-
- }
-}
diff --git a/app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java b/app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java
index 8d5f7a6..942c9be 100644
--- a/app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java
+++ b/app/src/main/java/com/shlb/comb/fragment/DeviceListFragment.java
@@ -26,7 +26,6 @@
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.shlb.comb.R;
-import com.shlb.comb.activity.ConnActivity;
import com.shlb.comb.activity.TestActivity;
import com.shlb.comb.activity.HomeActivity;
import com.shlb.comb.adapter.HomeDeviceListAdapter;
@@ -94,7 +93,9 @@
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- EventBus.getDefault().register(this);
+ if (!EventBus.getDefault().isRegistered(this)) {
+ EventBus.getDefault().register(this);
+ }
initView();
initData();
}
@@ -349,10 +350,14 @@
public void onDestroyView() {
super.onDestroyView();
dismissLoading();
- EventBus.getDefault().unregister(this);
+ if (EventBus.getDefault().isRegistered(this)) {
+ EventBus.getDefault().unregister(this);
+ }
if (scanManager != null) {
scanManager.setScanCallbackCompat(null);
scanManager.setScanOverListener(null);
+ // 閲婃斁璧勬簮
+ scanManager.release();
}
}
}
diff --git a/app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java b/app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java
index ce4da21..e8b507c 100644
--- a/app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java
+++ b/app/src/main/java/com/shlb/comb/manager/BleGlobalManager.java
@@ -53,7 +53,7 @@
}
public void connect(Context context, BluetoothLeDevice device) {
- this.mContext = context;
+ this.mContext = context.getApplicationContext();
if (connectManager == null) {
connectManager = BluetoothConnectManager.getInstance(mContext);
connectManager.addConnectStateListener(stateListener);
diff --git a/app/src/main/res/layout/activity_base.xml b/app/src/main/res/layout/activity_base.xml
deleted file mode 100755
index 16d6574..0000000
--- a/app/src/main/res/layout/activity_base.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?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"
- xmlns:titlebar="http://schemas.android.com/apk/res-auto"
- android:id="@+id/ll_root"
- android:orientation="vertical">
-
- <include
- android:id="@+id/include_head"
- layout="@layout/include_head"/>
-
- <RelativeLayout
- android:id="@+id/container"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
-
- <!--鍔犺浇澶辫触-->
- <LinearLayout
- android:id="@+id/ll_error_refresh"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="center"
- android:orientation="vertical"
- android:visibility="gone">
-
- <ImageView
- android:id="@+id/img_err"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@mipmap/load_err" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="15dp"
- android:text="鍔犺浇澶辫触,鐐瑰嚮閲嶈瘯"
- android:textSize="15sp" />
- </LinearLayout>
-
- <!--鍔犺浇涓�..-->
- <ViewStub
- android:id="@+id/vs_loading"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- android:inflatedId="@+id/panel_import"
- android:layout="@layout/layout_loading_view" />
-
- </RelativeLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_conn.xml b/app/src/main/res/layout/activity_conn.xml
deleted file mode 100644
index bc282bc..0000000
--- a/app/src/main/res/layout/activity_conn.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/qmui_config_color_background"
- android:orientation="vertical"
- tools:context=".activity.HomeActivity">
- <include layout="@layout/include_head"/>
- <com.qmuiteam.qmui.widget.QMUIEmptyView
- android:id="@+id/emptyView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- />
-
- <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
- android:id="@+id/groupListView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
-</LinearLayout >
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_write.xml b/app/src/main/res/layout/activity_write.xml
deleted file mode 100644
index c771fc3..0000000
--- a/app/src/main/res/layout/activity_write.xml
+++ /dev/null
@@ -1,315 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/qmui_config_color_background"
- android:orientation="vertical"
- tools:context=".activity.HomeActivity">
-
- <include layout="@layout/include_head" />
-
- <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
- android:id="@+id/groupListView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:visibility="gone" />
-
- <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
- android:id="@+id/send"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:layout_marginTop="@dimen/dimension_15"
- android:clickable="true"
- android:padding="10dp"
- android:text="鍙戦�佹寚浠�"
- android:visibility="gone"
- app:qmui_radius="4dp" />
-
- <TextView
- android:textSize="@dimen/dimension_40"
- android:gravity="center"
- android:layout_width="match_parent"
- android:layout_height="80dp"
- android:id="@+id/sendNum"
- />
-
- <LinearLayout
- android:id="@+id/ll_root"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
-
- <Button
- android:visibility="gone"
- android:id="@+id/btnInto"
- android:layout_width="match_parent"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_10"
- android:layout_marginTop="@dimen/dimension_10"
- android:layout_marginRight="10dp"
- android:gravity="center"
- android:text="杩涘叆缂栧潃"
- android:textStyle="bold" />
-
-
- <Button
- android:visibility="gone"
- android:id="@+id/btnClean"
- android:layout_width="match_parent"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_10"
- android:layout_marginTop="@dimen/dimension_10"
- android:layout_marginRight="10dp"
-
- android:gravity="center"
- android:text="娓呴櫎鍦板潃"
- android:textStyle="bold" />
-
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10">
-
- <Button
- android:id="@+id/btn1"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="1"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn2"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="2"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn3"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="3"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn4"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="4"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10"
-
- >
-
- <Button
- android:id="@+id/btn5"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="5"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn6"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="6"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn7"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="7"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn8"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="8"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10"
-
- >
-
- <Button
- android:id="@+id/btn9"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="9"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn10"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="10"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn11"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="11"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn12"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="12"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10"
-
- >
-
- <Button
- android:id="@+id/btn13"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="13"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn14"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="14"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn15"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="15"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn16"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="16"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <Button
- android:visibility="gone"
- android:layout_width="match_parent"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_10"
- android:layout_marginTop="@dimen/dimension_10"
- android:layout_marginRight="10dp"
- android:id="@+id/btnExit"
- android:gravity="center"
- android:text="閫�鍑虹紪鍧�"
- android:textStyle="bold" />
- </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_write2.xml b/app/src/main/res/layout/activity_write2.xml
deleted file mode 100644
index 6b3a3a9..0000000
--- a/app/src/main/res/layout/activity_write2.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/qmui_config_color_background"
- android:orientation="vertical"
- tools:context=".activity.HomeActivity">
- <include layout="@layout/include_head"/>
-
- <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
- android:id="@+id/groupListView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"/>
-
- <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
- android:layout_marginTop="@dimen/dimension_15"
- android:id="@+id/send"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:clickable="true"
- android:layout_gravity="center"
- android:padding="10dp"
- android:text="鍙戦�佹寚浠�"
- app:qmui_radius="4dp"/>
-
-</LinearLayout >
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_bluetooth_item.xml b/app/src/main/res/layout/dialog_layout_bluetooth_item.xml
deleted file mode 100644
index 25bd164..0000000
--- a/app/src/main/res/layout/dialog_layout_bluetooth_item.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?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:orientation="horizontal">
-
- <RelativeLayout
- android:layout_width="@dimen/dimension_60"
- android:layout_height="50dp"
- >
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- android:orientation="vertical">
-
- <ImageView
- android:id="@+id/device_icon"
- android:layout_width="30dp"
- android:layout_height="30dp"
- android:src="@mipmap/ic_sanjiao" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="-dBm"
- android:layout_gravity="center"
- android:textColor="@color/qmui_config_color_gray_6"
- android:textSize="@dimen/dimension_10" />
-
- </LinearLayout>
-
- </RelativeLayout>
-
- <RelativeLayout
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="50dp"
- >
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerVertical="true"
- android:orientation="vertical"
- >
- <TextView
- android:id="@+id/device_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="JDY-123-456"
- />
- <TextView
- android:id="@+id/device_address"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="24:6d:12:dd:ad:df:cd"
- android:textSize="@dimen/dimension_10"
- android:textColor="@color/qmui_config_color_gray_6"
- />
-
-
- </LinearLayout>
-
- </RelativeLayout>
-
- <RelativeLayout
- android:layout_width="130dp"
- android:layout_height="50dp"
- >
-
- <Button
- android:layout_width="@dimen/dimension_80"
- android:layout_height="40dp"
- android:layout_centerVertical="true"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_toLeftOf="@id/iv_down"
- android:focusable="false"
- android:text="CONNECT"
- android:textSize="@dimen/dimension_10" />
- <ImageView
- android:layout_marginRight="20dp"
- android:id="@+id/iv_down"
- android:layout_alignParentRight="true"
- android:src="@mipmap/ic_down"
- android:layout_centerVertical="true"
- android:layout_width="20dp"
- android:layout_height="20dp"/>
- </RelativeLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_bluetooth_list.xml b/app/src/main/res/layout/dialog_layout_bluetooth_list.xml
deleted file mode 100644
index 3211c76..0000000
--- a/app/src/main/res/layout/dialog_layout_bluetooth_list.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?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="@drawable/bg_round"
- android:orientation="vertical"
- >
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="400dp"
- android:orientation="vertical">
- <ListView
- android:id="@android:id/list"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- </LinearLayout>
-
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_write_item.xml b/app/src/main/res/layout/dialog_layout_write_item.xml
deleted file mode 100644
index 9a6f3e5..0000000
--- a/app/src/main/res/layout/dialog_layout_write_item.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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/dimension_30"
- android:orientation="vertical"
- >
- <TextView
- android:layout_marginLeft="@dimen/dimension_15"
- android:text="娴嬭瘯"
- android:textSize="@dimen/dimension_12"
- android:layout_centerVertical="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/name"
- />
-
- <ImageView
- android:layout_marginRight="@dimen/dimension_15"
- android:layout_alignParentRight="true"
- android:id="@+id/logo"
- android:layout_centerVertical="true"
- android:layout_width="@dimen/dimension_20"
- android:layout_height="@dimen/dimension_20"
- android:src="@mipmap/about_logo"
- />
-
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_layout_write_list.xml b/app/src/main/res/layout/dialog_layout_write_list.xml
deleted file mode 100644
index 887083c..0000000
--- a/app/src/main/res/layout/dialog_layout_write_list.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?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="@drawable/bg_round"
- android:orientation="vertical"
- >
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="400dp"
- android:orientation="vertical">
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="@dimen/dimension_40">
- <TextView
- android:layout_marginLeft="15dp"
- android:text="閫夋嫨鍛戒护"
- android:textSize="@dimen/dimension_12"
- android:layout_centerVertical="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"/>
-
- <ImageView
- android:id="@+id/iv_close"
- android:layout_width="@dimen/dimension_20"
- android:layout_height="@dimen/dimension_20"
- android:layout_alignParentRight="true"
- android:layout_centerVertical="true"
- android:layout_marginRight="@dimen/dimension_20"
- android:src="@mipmap/icon_colse" />
- </RelativeLayout>
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/write"
- android:layout_width="match_parent"
- android:layout_height="200dp"/>
-
- <TextView
- android:id="@+id/selectedtv"
- android:layout_marginLeft="@dimen/dimension_15"
- android:layout_marginTop="@dimen/dimension_10"
- android:textSize="@dimen/dimension_12"
- android:layout_width="wrap_content"
- android:layout_height="@dimen/dimension_20"
- android:text="褰撳墠閫夋嫨锛�"
- />
-
- <TextView
- android:id="@+id/restv"
- android:layout_marginLeft="@dimen/dimension_15"
- android:layout_marginTop="@dimen/dimension_10"
- android:textSize="@dimen/dimension_12"
- android:layout_width="wrap_content"
- android:layout_height="@dimen/dimension_20"
- android:text="杩斿洖淇℃伅锛�"
- />
- <EditText
- android:id="@+id/writeed"
- android:layout_marginLeft="@dimen/dimension_15"
- android:layout_marginRight="@dimen/dimension_15"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/dimension_10"
- />
- <Button
- android:id="@+id/writebtn"
- android:layout_gravity="center"
- android:textSize="@dimen/dimension_12"
- android:layout_width="@dimen/dimension_90"
- android:layout_height="@dimen/dimension_40"
- android:text="send"
- />
- </LinearLayout>
-
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_device.xml b/app/src/main/res/layout/list_item_device.xml
deleted file mode 100644
index 55c7dc9..0000000
--- a/app/src/main/res/layout/list_item_device.xml
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="top"
- android:orientation="horizontal"
- tools:ignore="MissingDefaultResource">
-
- <ImageView
- android:id="@+id/device_icon"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:paddingTop="5dp"
- android:src="@mipmap/ic_bluetooth"/>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/device_name"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="24sp"/>
-
- <GridLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:columnCount="2">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:text="@string/label_mac"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/device_address"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="12sp"
- android:typeface="monospace"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:text="@string/label_updated"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/device_last_update"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:text="@string/label_rssi"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/device_rssi"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
- </GridLayout>
-
- <TextView
- android:id="@+id/ibeacon_scan_record"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:visibility="gone"
- android:textSize="12sp"/>
-
- <GridLayout
- android:id="@+id/ibeacon_section"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:background="#66e0e0e0"
- android:columnCount="4">
-
- <!-- ROW 1 -->
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:text="@string/label_uuid"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/ibeacon_uuid"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_columnSpan="3"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
-
- <!-- ROW 2 -->
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:text="@string/label_major"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/ibeacon_major"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingLeft="5dp"
- android:paddingRight="5dp"
- android:text="@string/label_minor"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/ibeacon_minor"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
-
- <!-- ROW 3 -->
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:text="@string/label_tx_power"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/ibeacon_tx_power"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingLeft="5dp"
- android:paddingRight="5dp"
- android:text="@string/label_distance"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/ibeacon_distance"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
-
- <!-- ROW 4 -->
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingRight="5dp"
- android:text="@string/label_decriptor"
- android:textSize="12sp"
- android:textStyle="bold"/>
-
- <TextView
- android:id="@+id/ibeacon_distance_descriptor"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_columnSpan="3"
- android:paddingRight="5dp"
- android:textSize="12sp"/>
-
- </GridLayout>
- </LinearLayout>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/normal_activity_write.xml b/app/src/main/res/layout/normal_activity_write.xml
deleted file mode 100644
index 2500a22..0000000
--- a/app/src/main/res/layout/normal_activity_write.xml
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/qmui_config_color_background"
- android:orientation="vertical"
- tools:context=".activity.HomeActivity">
-
- <include layout="@layout/include_head" />
-
- <com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView
- android:id="@+id/groupListView"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- />
-
- <Button
- android:id="@+id/send"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:layout_marginTop="@dimen/dimension_15"
- android:clickable="true"
- android:padding="10dp"
- android:text="鍙戦�佹寚浠�"
- />
-
- <LinearLayout
- android:visibility="gone"
- android:id="@+id/ll_root"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
-
- <Button
- android:id="@+id/btnInto"
- android:layout_width="match_parent"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_10"
- android:layout_marginTop="@dimen/dimension_10"
- android:layout_marginRight="10dp"
- android:gravity="center"
- android:text="杩涘叆缂栧潃"
- android:textStyle="bold" />
-
-
- <Button
- android:id="@+id/btnClean"
- android:layout_width="match_parent"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_10"
- android:layout_marginTop="@dimen/dimension_10"
- android:layout_marginRight="10dp"
-
- android:gravity="center"
- android:text="娓呴櫎鍦板潃"
- android:textStyle="bold" />
-
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10">
-
- <Button
- android:id="@+id/btn1"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="1"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn2"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="2"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn3"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="3"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn4"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="4"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10"
-
- >
-
- <Button
- android:id="@+id/btn5"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="5"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn6"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="6"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn7"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="7"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn8"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="8"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10"
-
- >
-
- <Button
- android:id="@+id/btn9"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="9"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn10"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="10"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn11"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="11"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn12"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="12"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/dimension_10"
- android:paddingTop="@dimen/dimension_10"
- android:paddingRight="@dimen/dimension_10"
-
- >
-
- <Button
- android:id="@+id/btn13"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="13"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn14"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="14"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn15"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_marginRight="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="15"
- android:textStyle="bold" />
-
- <Button
- android:id="@+id/btn16"
- android:layout_width="0dp"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_5"
- android:layout_weight="1"
-
- android:gravity="center"
- android:text="16"
- android:textStyle="bold" />
-
- </LinearLayout>
-
- <Button
- android:layout_width="match_parent"
- android:layout_height="45dp"
- android:layout_marginLeft="@dimen/dimension_10"
- android:layout_marginTop="@dimen/dimension_10"
- android:layout_marginRight="10dp"
- android:id="@+id/btnExit"
- android:gravity="center"
- android:text="閫�鍑虹紪鍧�"
- android:textStyle="bold" />
- </LinearLayout>
-</LinearLayout>
\ No newline at end of file
--
Gitblit v1.9.3