您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 黑马程序员安卓教程:智能继电器代码实现(四)
智能继电器代码实现(四)【文件1-7】ControlActivity.java1.packagecom.example.bluetoothtest;2.importjava.io.IOException;3.importjava.io.OutputStream;4.importjava.util.UUID;5.importandroid.annotation.SuppressLint;6.importandroid.app.Activity;7.importandroid.bluetooth.BluetoothDevice;8.importandroid.bluetooth.BluetoothSocket;9.importandroid.content.Intent;10.importandroid.os.Bundle;11.importandroid.os.Looper;12.importandroid.os.SystemClock;13.importandroid.view.View;14.importandroid.view.View.OnClickListener;15.importandroid.widget.Button;16.importandroid.widget.Toast;17.publicclassControlActivityextendsActivityimplementsOnClickListener{18./**19.*用于设置开关的状态,显示在Button上的文字就是20.*/21.privatefinalstaticStringKAIGUAN1_STATE_OPEN=开关1已经打开;22.privatefinalstaticStringKAIGUAN2_STATE_OPEN=开关2已经打开;23.privatefinalstaticStringKAIGUAN3_STATE_OPEN=开关3已经打开;24.privatefinalstaticStringKAIGUAN4_STATE_OPEN=开关4已经打开;25.privatefinalstaticStringKAIGUAN5_STATE_OPEN=开关5已经打开;26.privatefinalstaticStringKAIGUAN1_STATE_CLOSE=开关1已经关闭;27.privatefinalstaticStringKAIGUAN2_STATE_CLOSE=开关2已经关闭;28.privatefinalstaticStringKAIGUAN3_STATE_CLOSE=开关3已经关闭;29.privatefinalstaticStringKAIGUAN4_STATE_CLOSE=开关4已经关闭;30.privatefinalstaticStringKAIGUAN5_STATE_CLOSE=开关5已经关闭;2331.privatefinalstaticStringKAIGUANALL_STATE_OPEN=所有开关已经打开;32.privatefinalstaticStringKAIGUANALL_STATE_CLOSE=所有开关已经关闭;33./**34.*产生一个唯一序列值,用于跟智能继电器的蓝牙连接的时候给自己的蓝牙设备做一个标记作用35.*/36.publicstaticfinalUUIDMY_UUID=UUID.randomUUID();37./**38.*打开对应的开关的指令集br39.*这些指令大家在卖家的产品说明中有,直接抄过来的br40.*通过这些指令大家发现通信的时候每一个指令都是一个字节数组41.*42.*/43.privatestaticfinalbyte[]COMMAND_OPEN_1=newbyte[]{(byte)0x01,(byte)0x99,44.(byte)0x10,(byte)0x10,(byte)0x99};45.privatestaticfinalbyte[]COMMAND_OPEN_2=newbyte[]{(byte)0x01,(byte)0x99,46.(byte)0x20,(byte)0x20,(byte)0x99};47.privatestaticfinalbyte[]COMMAND_OPEN_3=newbyte[]{(byte)0x01,(byte)0x99,48.(byte)0x30,(byte)0x30,(byte)0x99};49.privatestaticfinalbyte[]COMMAND_OPEN_4=newbyte[]{(byte)0x01,(byte)0x99,50.(byte)0x40,(byte)0x40,(byte)0x99};51.privatestaticfinalbyte[]COMMAND_OPEN_5=newbyte[]{(byte)0x01,(byte)0x99,52.(byte)0x50,(byte)0x50,(byte)0x99};53./**54.*关闭对应的开关指令55.*/56.privatestaticfinalbyte[]COMMAND_CLOSE_1=newbyte[]{(byte)0x01,(byte)57.0x99,(byte)0x11,(byte)0x11,(byte)0x99};58.privatestaticfinalbyte[]COMMAND_CLOSE_2=newbyte[]{(byte)0x01,(byte)59.0x99,(byte)0x21,(byte)0x21,(byte)0x99};60.privatestaticfinalbyte[]COMMAND_CLOSE_3=newbyte[]{(byte)0x01,(byte)61.0x99,(byte)0x31,(byte)0x31,(byte)0x99};62.privatestaticfinalbyte[]COMMAND_CLOSE_4=newbyte[]{(byte)0x01,(byte)63.0x99,(byte)0x41,(byte)0x41,(byte)0x99};64.privatestaticfinalbyte[]COMMAND_CLOSE_5=newbyte[]{(byte)0x01,(byte)65.0x99,(byte)0x51,(byte)0x51,(byte)0x99};66./**67.*全部开关控制指令68.*/69.privatestaticfinalbyte[]COMMAND_OPEN_ALL=newbyte[]{(byte)0x01,(byte)70.0x99,(byte)0x64,(byte)0x64,(byte)0x99};71.privatestaticfinalbyte[]COMMAND_CLOSE_ALL=newbyte[]{(byte)0x01,(byte)72.0x99,(byte)0x65,(byte)0x65,(byte)0x99};73./**74.*开关5点动1s所谓的点动1s就是通电1s后断点2475.*/76.privatestaticfinalbyte[]COMMAND_DIANDONG_5=newbyte[]{(byte)0x01,(byte)77.0x99,(byte)0x53,(byte)0x53,(byte)0x99};78./**79.*互锁自锁这两个概念不好理解互锁的效果是把开关5打开了,把开关4关闭了。自锁的效果跟开关80.*很类似,不过稍微有差异,对于我们来讲可以忽略81.*/82.privatestaticfinalbyte[]COMMAND_HUSUO_5=newbyte[]{(byte)0x01,(byte)83.0x99,(byte)0x54,(byte)0x54,(byte)0x99};84.privatestaticfinalbyte[]COMMAND_ZISUO_5=newbyte[]{(byte)0x01,(byte)85.0x99,(byte)0x55,(byte)0x55,(byte)0x99};86.privateButtonbtn_kaiguan1;87.privateButtonbtn_kaiguan2;88.privateButtonbtn_kaiguan3;89.privateButtonbtn_kaiguan4;90.privateButtonbtn_kaiguan5;91.privateButtonbtn_kaiguanAll;92.privateButtonbtn_kaiguan5_diandong;93.privateButtonbtn_kaiguan5_husuo;94.privateButtonbtn_kaiguan5_zisuo;95.//蓝牙设备96.privateBluetoothDevicemDevice;97.//通过蓝牙设备获取到的流98.privateBluetoothSocketsocket;99.//是否连接成功用于记录连接状态100.privatebooleanisConnected=false;101.@Override102.protectedvoidonCreate(BundlesavedInstanceState){103.super.onCreate(savedInstanceState);104.setContentView(R.layout.activity_control);105.initView();106.initData();107.initConnection();108.}109./**110.*初始化视图111.*/112.privatevoidinitView(){113.btn_kaiguan1=(Button)findViewById(R.id.btn_kaiguan1);114.btn_kaiguan2=(Button)findViewById(R.id.btn_kaiguan2);115.btn_kaiguan3=(Button)findViewById(R.id.btn_kaiguan3);116.btn_kaiguan4=(Button)findViewById(R.id.btn_kaiguan4);117.btn_kaiguan5=(Button)findViewById(R.id.btn_kaiguan5);118.btn_kaiguanAll=(Button)findViewById(R.id.btn_kaiguanAll);119.btn_kaiguan5_diandong=(Button)findViewById(R.id.btn_kaiguan5_diandong);25120.btn_kaiguan5_husuo=(Button)findViewById(R.id.btn_kaiguan5_husuo);121.btn_kaiguan5_zisuo=(Button)findViewById(R.id.btn_kaiguan5_zisuo);122.//设置点击事件123.btn_kaiguan1.setOnClickListener(this);124.btn_kaiguan2.setOnClickListener(this);125.btn_kaiguan3.setOnClickListener(this);126.btn_kaiguan4.setOnClickListener(this);127.btn_kaiguan5.setOnClickListener(this);128.btn_kaiguanAll.setOnClickListener(this);129.btn_kaiguan5_diandong.setOnClickListener(this);130.btn_kaiguan5_husuo.setOnClickListener(th
本文标题:黑马程序员安卓教程:智能继电器代码实现(四)
链接地址:https://www.777doc.com/doc-3783567 .html