基本信息
源码名称:遥远远程控制系统(FarRemoteControler)
源码大小:10.36M
文件格式:.rar
开发语言:Java
更新时间:2024-11-21
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

采用android程序通过”科星“系列控制器实现物联网远程控制。


package com.rtcontroler.far; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import androidx.viewpager.widget.PagerAdapter; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.net.SocketException; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends Activity implements View.OnClickListener { private Button bConnect,bOpen_01,bOpen_02,bOpen_03,bOpen_04,bOpen_05,bOpen_06,bOpen_07,bOpen_08,bOpen_00,bClose_01,bClose_02,bClose_03,bClose_04,bClose_05,bClose_06,bClose_07,bClose_08,bClose_00; private EditText edtIP,edtPort; private TextView tvInfo; private TextView tvFlag01,tvFlag02,tvFlag03,tvFlag04,tvFlag05,tvFlag06,tvFlag07,tvFlag08,tvFlag00; private Socket socket; private SendMsgThread thSendMsg; private ReadMsgThread thReadMsg; private ConnectControlThread thConnect; private boolean bRunning =false;//系统已经运行中  String sac=""; int iac=0,iSum=0; private UserInfoSharedPre userInfoSharedPre; private TimerTask timerTask;//设置定时器任务  private Timer timer=new Timer();//设置定时器  private Message msg=new Message(); private Handler mHandler=new Handler(){ public void handleMessage(Message msg) {
            String sMess=(String)msg.obj; switch (msg.what) { case 1: if(sMess.equals("OK")){ tvInfo.setText("信息:控制器连接成功"); timerTask.run();//开始运行  bOpen_01.setEnabled(true); bOpen_02.setEnabled(true); bOpen_03.setEnabled(true); bOpen_04.setEnabled(true); bOpen_05.setEnabled(true); bOpen_06.setEnabled(true); bOpen_07.setEnabled(true); bOpen_08.setEnabled(true); bOpen_00.setEnabled(true); bClose_01.setEnabled(true); bClose_02.setEnabled(true); bClose_03.setEnabled(true); bClose_04.setEnabled(true); bClose_05.setEnabled(true); bClose_06.setEnabled(true); bClose_07.setEnabled(true); bClose_08.setEnabled(true); bClose_00.setEnabled(true); bConnect.setText("断开控制器"); bRunning =true; //读继电器状态  thSendMsg = new SendMsgThread("CCDDB00100000DBE7C"); thSendMsg.start(); //thReadMsg=new ReadMsgThread(0);  //thReadMsg.start();   //连接成功后还是要发一个编号去,以便在控制器作为客户端时识别是用户还是控制器  //'SYSTEM[==]CONNECT[==]CODE[==]ANDROIDMOBILE   }else if(sMess.equals("ERR")){ tvInfo.setText("信息:控制器连接失败"); bOpen_01.setEnabled(false); bOpen_02.setEnabled(false); bOpen_03.setEnabled(false); bOpen_04.setEnabled(false); bOpen_05.setEnabled(false); bOpen_06.setEnabled(false); bOpen_07.setEnabled(false); bOpen_08.setEnabled(false); bOpen_00.setEnabled(false);
                    }else if(sMess.equals("CLOSE")){ tvInfo.setText("信息:"); //timerTask.cancel();//开始运行  bOpen_01.setEnabled(false); bOpen_02.setEnabled(false); bOpen_03.setEnabled(false); bOpen_04.setEnabled(false); bOpen_05.setEnabled(false); bOpen_06.setEnabled(false); bOpen_07.setEnabled(false); bOpen_08.setEnabled(false); bOpen_00.setEnabled(false); bClose_01.setEnabled(false); bClose_02.setEnabled(false); bClose_03.setEnabled(false); bClose_04.setEnabled(false); bClose_05.setEnabled(false); bClose_06.setEnabled(false); bClose_07.setEnabled(false); bClose_08.setEnabled(false); bClose_00.setEnabled(false); tvFlag01.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag02.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag03.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag04.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag05.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag06.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag07.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag08.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); bConnect.setText("连接控制器");
                    } break; case 2: if(sMess.equals("OK")){ tvInfo.setText("信息:指令发送成功"); //bOpen_01.setEnabled(true);  //bOpen_01.setEnabled(true);  }else{ tvInfo.setText("信息:指令发送失败"); //bOpen_01.setEnabled(false);  } break; case 4://读到信息  sMess = (String) msg.obj;; tvInfo.setText("信息:接收到信息:" sMess);
                    Log.v("FRC_信息检测_Handle" , "sac=" sac  ";iac="  iac  ",收到信息=" sMess); if(sMess.equals("OK!")){ if(sac.equals("Close")){ tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); if(iac==0){ iSum=0;
                            }else{ iSum-=1;
                            }
                        }else if(sac.equals("Open")){ if(iac==0){ iSum=8; tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                            }else{ iSum =1; if(iSum>=8){ tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                }
                            }
                        }
                        Log.v("FRC_信息检测_Handle" , "iSum=" iSum); switch (iac){ case 1: if(sac.equals("Open")){ tvFlag01.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag01.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 2: if(sac.equals("Open")){ tvFlag02.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag02.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 3: if(sac.equals("Open")){ tvFlag03.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag03.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 4: if(sac.equals("Open")){ tvFlag04.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag04.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 5: if(sac.equals("Open")){ tvFlag05.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag05.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 6: if(sac.equals("Open")){ tvFlag06.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag06.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 7: if(sac.equals("Open")){ tvFlag07.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag07.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 8: if(sac.equals("Open")){ tvFlag08.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag08.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break; case 0: if(sac.equals("Open")){ tvFlag01.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag02.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag03.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag04.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag05.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag06.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag07.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag08.setBackground(getResources().getDrawable(R.drawable.shape_circle_green)); tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{ tvFlag01.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag02.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag03.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag04.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag05.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag06.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag07.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag08.setBackground(getResources().getDrawable(R.drawable.shape_circle_red)); tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                } break;
                        }
                    }else if(sMess.indexOf("gdqs")!=-1){//读初始状态信息  Log.v("FRC_信息检测_Handle" , "收到初始状态信息="  sMess); //格式:gdqs11000111e  String slist=sMess.replace("gdqs","");
                        slist=slist.replace("e","");
                        Log.v("FRC_信息检测_Handle" , "状态信息="  slist); if(slist.equals("11111111")){ tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                        }else{ tvFlag00.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                        } try{ for(int i=0;i<slist.length();i  ){
                                String s=slist.substring(i,i 1);
                                TextView tv=(TextView) findViewByName("tvFlag0"  (i 1) "_FRC");
                                Log.v("FRC_信息检测_Handle" , "tvFlag0"  (i 1) "_FRC"  "="  tv.getId()); if(s.equals("1")){ iSum =1;
                                    tv.setBackground(getResources().getDrawable(R.drawable.shape_circle_green));
                                }else{
                                    tv.setBackground(getResources().getDrawable(R.drawable.shape_circle_red));
                                }
                            }
                        }catch (Exception e){
                        }
                        Log.v("FRC_信息检测_Handle" , "iSum=" iSum);
                    }

            }
        }
    }; private View findViewByName(String name){//根据名称取id  return findViewById(getResources().getIdentifier(name, "id", getPackageName()));
    } @Override  protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); bConnect = (Button) findViewById(R.id.bConnect_FRC); bOpen_01 = (Button) findViewById(R.id.bOpen_01_FRC); bOpen_02 = (Button) findViewById(R.id.bOpen_02_FRC); bOpen_03 = (Button) findViewById(R.id.bOpen_03_FRC); bOpen_04 = (Button) findViewById(R.id.bOpen_04_FRC); bOpen_05 = (Button) findViewById(R.id.bOpen_05_FRC); bOpen_06 = (Button) findViewById(R.id.bOpen_06_FRC); bOpen_07 = (Button) findViewById(R.id.bOpen_07_FRC); bOpen_08 = (Button) findViewById(R.id.bOpen_08_FRC); bOpen_00 = (Button) findViewById(R.id.bOpen_00_FRC); bClose_01 = (Button) findViewById(R.id.bClose_01_FRC); bClose_02 = (Button) findViewById(R.id.bClose_02_FRC); bClose_03 = (Button) findViewById(R.id.bClose_03_FRC); bClose_04 = (Button) findViewById(R.id.bClose_04_FRC); bClose_05 = (Button) findViewById(R.id.bClose_05_FRC); bClose_06 = (Button) findViewById(R.id.bClose_06_FRC); bClose_07 = (Button) findViewById(R.id.bClose_07_FRC); bClose_08 = (Button) findViewById(R.id.bClose_08_FRC); bClose_00 = (Button) findViewById(R.id.bClose_00_FRC); tvInfo = (TextView) findViewById(R.id.tvInfo_FRC); tvFlag01 = (TextView) findViewById(R.id.tvFlag01_FRC); tvFlag02 = (TextView) findViewById(R.id.tvFlag02_FRC); tvFlag03 = (TextView) findViewById(R.id.tvFlag03_FRC); tvFlag04 = (TextView) findViewById(R.id.tvFlag04_FRC); tvFlag05 = (TextView) findViewById(R.id.tvFlag05_FRC); tvFlag06 = (TextView) findViewById(R.id.tvFlag06_FRC); tvFlag07 = (TextView) findViewById(R.id.tvFlag07_FRC); tvFlag08 = (TextView) findViewById(R.id.tvFlag08_FRC); tvFlag00 = (TextView) findViewById(R.id.tvFlag00_FRC); edtIP= (EditText) findViewById(R.id.edtIP_FRC); edtPort= (EditText) findViewById(R.id.edtPort_FRC); bConnect.setOnClickListener(this); bOpen_01.setOnClickListener(this); bOpen_02.setOnClickListener(this); bOpen_03.setOnClickListener(this); bOpen_04.setOnClickListener(this); bOpen_05.setOnClickListener(this); bOpen_06.setOnClickListener(this); bOpen_07.setOnClickListener(this); bOpen_08.setOnClickListener(this); bOpen_00.setOnClickListener(this);//全开  bClose_01.setOnClickListener(this); bClose_02.setOnClickListener(this); bClose_03.setOnClickListener(this); bClose_04.setOnClickListener(this); bClose_05.setOnClickListener(this); bClose_06.setOnClickListener(this); bClose_07.setOnClickListener(this); bClose_08.setOnClickListener(this); bClose_00.setOnClickListener(this);//全关  bOpen_01.setEnabled(false); bOpen_02.setEnabled(false); bOpen_03.setEnabled(false); bOpen_04.setEnabled(false); bOpen_05.setEnabled(false); bOpen_06.setEnabled(false); bOpen_07.setEnabled(false); bOpen_08.setEnabled(false); bOpen_00.setEnabled(false); bClose_01.setEnabled(false); bClose_02.setEnabled(false); bClose_03.setEnabled(false); bClose_04.setEnabled(false); bClose_05.setEnabled(false); bClose_06.setEnabled(false); bClose_07.setEnabled(false); bClose_08.setEnabled(false); bClose_00.setEnabled(false); userInfoSharedPre=new UserInfoSharedPre(this);
        String ser=userInfoSharedPre.getUserInfo();//读保存数据  if(!ser.equals("")){
            String[] serList=ser.split(",",-1); if(serList.length>=2){ edtIP.setText(serList[0]); edtPort.setText(serList[1]);
            }
        } //连接成功后每10秒发送1次心跳  if(timerTask ==null){ timerTask=new TimerTask() { @Override  public void run() { try { new sendHeartBeat(socket).start();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            };
        } //timer=new Timer();  timer.schedule(timerTask,5000,5000);//5秒发送一次   } private void getRelayState(){

    } public static class UserInfoSharedPre { private Context context; //private String IP, Port;  /*private UserInfoSharedPre(Context context) {  this.context = context;  }*/  private UserInfoSharedPre(Context context) { this.context = context; //this.IP=IP;  //this.Port=Port;  } // 用户数据的存储  public boolean saveUserInfo(String IP,String Port) { try { // 获取SharedPreferences对象,同时指定文件名称和访问权限  SharedPreferences sp = context.getSharedPreferences("MyData", Context.MODE_PRIVATE); // 获取获取SharedPreferences的编辑器对象  SharedPreferences.Editor edit = sp.edit(); //没有修改功能,如果原来有数据,只能删除后再保存。  edit.remove("VALUESERVER"); // 通过编辑器进行数据的存储  //String ss = ss   sblist.get(i).getIP() ","   sblist.get(i).getPort()   "=";  String ss = IP ","  Port;
                Log.v("FRC_信息检测_SERVER", "VALUESERVER="  ss);
                edit.putString("VALUESERVER", ss);
                edit.commit(); return true;
            } catch (Exception e) {
                e.printStackTrace(); return false;
            }
        } // 读取用户数据  public String getUserInfo() { // 获取SharedPreferences对象,同时指定文件名称和访问权限  SharedPreferences sp = context.getSharedPreferences("MyData", Context.MODE_PRIVATE);
            String ss = sp.getString("VALUESERVER", "");
            Log.v("FRC_信息检测_SERVER", "VALUESERVER="  ss); return ss;
        }
    } //***发送心跳包  private class sendHeartBeat extends Thread{
        Socket socket; public sendHeartBeat(Socket socket) throws IOException { this.socket=socket;
        } public void run() { try{
                Log.v("FRC_信息检测_-sendHeartBeat", "准备发送一个心跳!"); //socket.sendUrgentData(0xff);//紧急数据,借用发送心跳,1个字节_---好像服务器端收到几次后就收不到信息了  if (socket != null && socket.isConnected() == true) { // 向服务器发送消息  PrintWriter out;
                    out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8")), true);//"GBK")),true);  out.println("?");
                    out.flush();
                    Log.v("FRC_信息检测-SerHeartBeat", "成功发送一个心跳!"  socket.getLocalAddress() ":"  socket.getLocalPort());
                }
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
    } private class ReadMsgThread extends Thread { int order = 0; public ReadMsgThread(int order) { this.order = order;
        } @Override  public void run() {
            InputStream mInputStream;
            String msgString = "";
            Log.v("FRC_信息检测_ReadMsgThread", "启动接收信息线程:"  currentThread().getName()); try { bRunning = true;//一直执行吧  while (bRunning == true) { //String msg =readMsg();  // 接收来自服务器的消息  //socket=app.getSocket();//重新读  if ((socket != null) && (socket.isConnected() == true)) {
                        mInputStream = socket.getInputStream(); //缓冲区  byte[] buffer = new byte[mInputStream.available()]; //读到缓冲区  mInputStream.read(buffer); //转换为字符串!!!!!!!!!!!  msgString = new String(buffer, "UTF-8");//真还有这个加bm参数的功能:显示中文  } if (msgString != null && !msgString.equals("")) {
                        Log.v("FRC_信息检测_ReadMsgThread", "收到信息:"  msg);
                        Message msg = new Message();
                        msg.obj = msgString;
                        msg.what = 4; mHandler.sendMessage(msg);
                    }
                }
            } catch (Exception e) {//catch (IOException e) {  // TODO Auto-generated catch block  e.printStackTrace();
            }
        }
    } private void ConnectControler(){
        String sIP=edtIP.getText().toString();
        String sPort=edtPort.getText().toString(); if(sIP.trim().equals("")) sIP="172.16.32.200"; int port=sPort.trim().equals("")?50000:Integer.parseInt(edtPort.getText().toString()); tvInfo.setText("信息:");
        String finalSIP = sIP; //if(socket==null){  thConnect=new ConnectControlThread(sIP, port); thConnect.start(); /*}else {  if (socket.isConnected() == false || socket.isClosed() == true) {  *//*if(thConnect !=null){  thConnect.run();  }else{*//*  thConnect=new ConnectControlThread(sIP, port);  thConnect.start();  //}  }  }*/  } private class ConnectControlThread extends Thread {
        String IP; int Port; public ConnectControlThread(String IP,int Port){ this.IP=IP; this.Port=Port;
        } @Override  public void run() {
            Message msg=new Message(); try { socket = new Socket(IP, Port); socket.setSoTimeout(5000);
                Log.v("FRC_信息检测_Connect", "成功连接控制器!"  ";"  socket.getLocalAddress() ":"  socket.getLocalPort()); //启动接收信息线程  //if(thReadMsg == null){  thReadMsg = new ReadMsgThread(0); thReadMsg.start(); //连接成功后还是要发一个编号去,以便在控制器作为客户端时识别是用户还是控制器  //SYSTEM[==]CONNECT[==]CODE[==]ANDROIDMOBILE  int code= (int) ((Integer)1000*(1 Math.random())); thSendMsg = new SendMsgThread("SYSTEM[==]CONNECT[==]" code "[==]ANDROIDMOBILE"); thSendMsg.start(); /*}else if(thReadMsg.isAlive()==true){//接收消息  //thReadMsg.run();  }*/  iSum=0; bRunning = true;
                msg.what = 1;
                msg.obj = "OK"; mHandler.sendMessage(msg);
            } catch (IOException e) {
                Log.v("FRC_信息检测_Connect", "连接控制器失败!");
                msg.what = 1;
                msg.obj = "ERR"; mHandler.sendMessage(msg);
                e.printStackTrace();
            }
        }
    } @SuppressLint("ResourceType") @Override  public void onClick(View view) { /*String sac="";  int iac=0;*/  boolean bsel=false; switch (view.getId()){ case R.id.bConnect_FRC: /*String sIP=edtIP.getText().toString();  String sPort=edtPort.getText().toString();  if(sIP.trim().equals("")) sIP="172.16.32.200";  int port=sPort.trim().equals("")?50000:Integer.parseInt(edtPort.getText().toString());  tvInfo.setText("信息:");  String finalSIP = sIP;*/  if(bConnect.getText().toString().equals("连接控制器")){ userInfoSharedPre=new UserInfoSharedPre (MainActivity.this); userInfoSharedPre.saveUserInfo(edtIP.getText().toString(),edtPort.getText().toString());//保存  ConnectControler();//连接  /*if(socket==null || socket.isConnected()==false || socket.isClosed()==true){   new Thread(){  @Override  public void run(){   try {  socket=new Socket(finalSIP,port);  socket.setSoTimeout(5000);  Log.v("FRC_信息检测_Connect" , "成功连接控制器!" ";" socket.getLocalAddress() ":" socket.getLocalPort());  bRunning =true;  msg.what=1;  msg.obj="OK";  mHandler.sendMessage(msg);  //启动接收信息线程  //if(thReadMsg == null){  thReadMsg=new ReadMsgThread(0);  thReadMsg.start();  *//*}else if(thReadMsg.isAlive()==true){//接收消息  thReadMsg.run();  }*//*  } catch (IOException e) {  Log.v("FRC_信息检测_Connect" , "连接控制器失败!");  msg.what=1;  msg.obj="ERR";  mHandler.sendMessage(msg);  e.printStackTrace();  }  }  }.start();  }*/  }else{ if(socket !=null && socket.isConnected()==true){ try { socket.close(); bRunning=false; msg.what=1; msg.obj="CLOSE"; mHandler.sendMessage(msg);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                } break; case R.id.bOpen_01_FRC: if(bsel==false){ sac="Open"; iac=1;
                    bsel=true;
                } case R.id.bOpen_02_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=2;
                } case R.id.bOpen_03_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=3;
                } case R.id.bOpen_04_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=4;
                } case R.id.bOpen_05_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=5;
                } case R.id.bOpen_06_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=6;
                } case R.id.bOpen_07_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=7;
                } case R.id.bOpen_08_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=8;
                } case R.id.bOpen_00_FRC: if(bsel==false){
                    bsel=true; sac="Open"; iac=0;
                } case R.id.bClose_01_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=1;
                } case R.id.bClose_02_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=2;
                } case R.id.bClose_03_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=3;
                } case R.id.bClose_04_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=4;
                } case R.id.bClose_05_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=5;
                } case R.id.bClose_06_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=6;
                } case R.id.bClose_07_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=7;
                } case R.id.bClose_08_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=8;
                } case R.id.bClose_00_FRC: if(bsel==false){
                    bsel=true; sac="Close"; iac=0;
                } /*// 向服务器发送消息  PrintWriter out;  String sSend="CCDDA101FFFFFFFF9E3C";  try {  out= new PrintWriter(  new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8")),true);//GBK")),true);  out.println(sSend);  out.flush();  msg.what=2;  msg.obj="OK";  mHandler.sendMessage(msg);  Log.v("FRC_信息检测_MThreadSendMsg" , "成功信息发送信息:" sSend ";" socket.getLocalAddress() ":" socket.getLocalPort());  } catch (IOException e) {  e.printStackTrace();  msg.what=2;  msg.obj="ERR";  mHandler.sendMessage(msg);  Log.v("FRC_信息检测_MThreadSendMsg" , "成功信息发送信息:" sSend ";" socket.getLocalAddress() ":" socket.getLocalPort());  }*/   //String sid=getResources().getIdentifier()  getApplication().getString(view.getId());//根据标识符获取值---即如bOpen_01_FRC  //String sid= getApplication().getString(view.getId());//根据标识符获取值---即如bOpen_01_FRC  /*String sid= this.getString(view.getId());//根据标识符获取值---即如bOpen_01_FRC  Log.v("FRC_信息检测_Click" , "id="  sid);  String[] sa =sid.split("_",-1);  String action=sa[0];  int order=Integer.parseInt(sa[1]);  setAction(action,order);*/  Log.v("FRC_信息检测_Click" , "sac="  sac  ";iac=" iac);
                setAction(sac,iac); break;
        }
    } private void setAction(String aciton,int order){
        String code=""; if(aciton.equals("Open")){ switch (order){ case 1:
                    code="CCDDA10100010001A448"; break; case 2:
                    code="CCDDA10100020002A64C"; break; case 3:
                    code="CCDDA10100040004AA54"; break; case 4:
                    code="CCDDA10100080008B264"; break; case 5:
                    code="CCDDA10100100010C284"; break; case 6:
                    code="CCDDA10100200020E2C4"; break; case 7:
                    code="CCDDA101004000402244"; break; case 8:
                    code="CCDDA10100800080A244"; break; case 0:
                    code="CCDDA101FFFFFFFF9E3C";//全开  break;
            }
        }else{ switch (order){ case 1:
                    code="CCDDA10100000001A346"; break; case 2:
                    code="CCDDA10100000002A448"; break; case 3:
                    code="CCDDA10100000004A64C"; break; case 4:
                    code="CCDDA10100000008AA54"; break; case 5:
                    code="CCDDA10100000010B264"; break; case 6:
                    code="CCDDA10100000020C284"; break; case 7:
                    code="CCDDA10100000040E2C4"; break; case 8:
                    code="CCDDA101000000802244"; break; case 0:
                    code="CCDDA1010000FFFFA040";//全开  break;
            }
        } //if(thSendMsg == null){  thSendMsg = new SendMsgThread(code); thSendMsg.start(); //}else{  //    thSendMsg().run();  //}  /*// 向服务器发送消息  PrintWriter out;  String sSend=code;  Log.v("FRC_信息检测_Click" , "code="  code);  try {  out= new PrintWriter(  new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8")),true);//GBK")),true);  out.println(sSend);  out.flush();  msg.what=2;  msg.obj="OK";  mHandler.sendMessage(msg);  Log.v("FRC_信息检测_MThreadSendMsg" , "成功信息发送信息:" sSend ";" socket.getLocalAddress() ":" socket.getLocalPort());  } catch (IOException e) {  e.printStackTrace();  msg.what=2;  msg.obj="ERR";  mHandler.sendMessage(msg);  Log.v("FRC_信息检测_MThreadSendMsg" , "成功信息发送信息:" sSend ";" socket.getLocalAddress() ":" socket.getLocalPort());  }*/  } private class SendMsgThread extends Thread{
        String code; public SendMsgThread(String code){ this.code=code;
        } @Override  public void run(){ // 向服务器发送消息  Message msg=new Message();
            PrintWriter out;
            String sSend=code;
            Log.v("FRC_信息检测_SendMsgThread" , "code="  code); try {
                out= new PrintWriter( new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8")),true);//GBK")),true);  out.println(sSend);
                out.flush(); //out.close();  msg.what=2;
                msg.obj="OK"; mHandler.sendMessage(msg);
                Log.v("FRC_信息检测_SendMsgThread" , "信息发送成功:" sSend ";" socket.getLocalAddress() ":" socket.getLocalPort());
            } catch (IOException e) {
                e.printStackTrace();
                msg.what=2;
                msg.obj="ERR"; mHandler.sendMessage(msg);
                Log.v("FRC_信息检测_MThreadSendMsg" , "信息发送失败:" sSend ";" socket.getLocalAddress() ":" socket.getLocalPort());
            }
        }
    } @Override  protected void onResume() { super.onResume(); if(socket !=null && socket.isConnected()==false){
            ConnectControler();
        } //ConnectControler();  /*if(socket !=null && socket.isConnected()==false){  if(bConnect.getText().toString().equals("断开控制器")){  onClick(bConnect);  }  }*/  } @Override  protected void onDestroy() { super.onDestroy(); if(timerTask!=null) timerTask=null;
    }
}