From 0d580a2b6e4ac2013ba5cbab046bdabf956b301b Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期三, 14 八月 2024 15:18:17 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/MainActivity.java | 107 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 75 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java index 4b3d37a..13761d8 100644 --- a/app/src/main/java/com/example/agvcontroller/MainActivity.java +++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java @@ -6,11 +6,19 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; import android.os.Vibrator; import android.util.Log; +import android.view.KeyEvent; +import android.view.MotionEvent; import android.view.View; import android.widget.Button; +import com.example.agvcontroller.protocol.AgvAction; +import com.example.agvcontroller.protocol.ForceSwitchAction; +import com.example.agvcontroller.protocol2.AgvPackage; +import com.example.agvcontroller.protocol2.PackagePart; import com.example.agvcontroller.socket.NettyServerHandler; import com.example.agvcontroller.socket.SocketManager; import com.example.agvcontroller.socket.SocketTask; @@ -32,54 +40,89 @@ private Button vibrateButton; private Socket socket; SocketManager socketManager; + + private boolean isDowm = false; + private Handler handler = new Handler(new Handler.Callback() { + @Override + public boolean handleMessage(Message msg) { + + + AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) + .setAgvNo("1") + .setSerialNo("asdsadsadsad") + .setVal(1) + .bodySync((action) -> action.setPwd((short) 21)); + + + // 鍦ㄨ繖閲岃繘琛屾墦鍗拌緭鍑� + System.out.println("鎵撳嵃杈撳嚭"); + if (isDowm) { + System.out.println(agvAction); +// byte[] message2 = new byte[]{0x01, 0x02, 0x03, 0x06}; // 绀轰緥娑堟伅 + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + handler.sendEmptyMessageDelayed(0, 100); + } + return false; + } + }); + + String clientId; NettyServerHandler nettyServerHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - // 浣滀负瀹㈡埛绔繛鎺� - //SocketManager.getInstance().setHostAndPort("192.168.4.188", 802); - //SocketManager.getInstance().connect(); - - //SocketManager.getInstance().setPort(8080); - //SocketManager.getInstance().startServer(); - - // 璁剧疆绔彛鍙峰苟鍚姩鏈嶅姟绔� - //SocketManager.getInstance().setPort(8080); - //socketManager = new SocketManager(); - //socketManager.startServer(8080); - - // 鍚姩鏈嶅姟绔� - //new Thread(() -> { - // SocketManager.getInstance().startServer(); - //}).start(); - vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); vibrateButton = findViewById(R.id.btn_stop); Intent intent = getIntent(); - String clientId = intent.getStringExtra("message"); + clientId = intent.getStringExtra("message"); Log.i("message1",clientId); + // 鍒濆鍖栧崟杞翠娇鑳� + int single = 9; + int len = PackagePart.UNIQUENO.getLen() + + PackagePart.TIMESTAMP.getLen() + + PackagePart.COMMAND_MARK.getLen() + + 16 + 1 + 1 + 1; + for (int i = 0; i < single; i++) { - vibrateButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (vibrator != null && vibrator.hasVibrator()) { - //vibrator.vibrate(500); - } + } + byte[] message2 = new byte[]{0x01, 0x02, 0x03, 0x06}; // 绀轰緥娑堟伅 + nettyServerHandler.sendMessageToClient(clientId, message2); // 鍙戦�佹秷鎭埌瀹㈡埛绔� - //String clientId = "/192.168.4.188:63160"; - byte[] message1 = new byte[]{0x01, 0x02, 0x03, 0x04}; // 绀轰緥娑堟伅 - Log.i("message2",clientId); - Log.i("message3", Arrays.toString(message1)); - - nettyServerHandler.sendMessageToClient(clientId, message1); // 鍙戦�佹秷鎭埌瀹㈡埛绔� - } - }); + //vibrateButton.setOnClickListener(new View.OnClickListener() { + // @Override + // public void onClick(View v) { + // if (vibrator != null && vibrator.hasVibrator()) { + // //vibrator.vibrate(500); + // } + // + // //String clientId = "/192.168.4.188:63160"; + // byte[] message1 = new byte[]{0x01, 0x02, 0x03, 0x04}; // 绀轰緥娑堟伅 + // Log.i("message2",clientId); + // Log.i("message3", Arrays.toString(message1)); + // + // nettyServerHandler.sendMessageToClient(clientId, message1); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + // } + //}); + vibrateButton.setOnTouchListener(new CarTouchButton()); } + private class CarTouchButton implements View.OnTouchListener { + + @Override + public boolean onTouch(View view, MotionEvent motionEvent) { + if (motionEvent.getAction() == KeyEvent.ACTION_DOWN) { + isDowm = true; + handler.sendEmptyMessage(0); + } else if (motionEvent.getAction() == KeyEvent.ACTION_UP) { + isDowm = false; + } + return false; + } + } @Override protected void onDestroy() { super.onDestroy(); -- Gitblit v1.9.1