From eb0cfac6e7fbab4ace0ac63d419036a700f7e905 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 15 八月 2024 14:19:22 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/MainActivity.java | 121 +++++++++++++++++++++++++++++----------- 1 files changed, 87 insertions(+), 34 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/MainActivity.java b/app/src/main/java/com/example/agvcontroller/MainActivity.java index 7d9de0f..9eba106 100644 --- a/app/src/main/java/com/example/agvcontroller/MainActivity.java +++ b/app/src/main/java/com/example/agvcontroller/MainActivity.java @@ -4,21 +4,27 @@ import androidx.recyclerview.widget.RecyclerView; 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.PackagePart; +import com.example.agvcontroller.socket.NettyServerHandler; import com.example.agvcontroller.socket.SocketManager; -import com.example.agvcontroller.socket.SocketTask; +import com.example.agvcontroller.utils.SnowflakeIdWorker; import java.net.Socket; import java.util.List; -import io.netty.buffer.ByteBuf; -import io.netty.buffer.Unpooled; -import io.netty.util.CharsetUtil; public class MainActivity extends AppCompatActivity { @@ -26,60 +32,107 @@ private ItemAdapter itemAdapter; private List<Item> itemList; private Vibrator vibrator; - private Button vibrateButton; + private Button stopBtn; // 鎬ュ仠鎸夐挳 + private Button forceSwitchBtn; // 鎵嬭嚜鍔ㄥ己鍒跺紑鍏� + private Button rotatopnRightBtn; // 鍙虫棆杞� + private Button rotatopnLeftBtn; // 宸︽棆杞� + private Button goForwardBtn; // 鍓嶈繘 + private Button goBackwardBtn; // 鍚庨�� private Socket socket; + SocketManager socketManager; + + private boolean isDowm = false; + private boolean isOpen = false; + + + + private Handler handler = new Handler(new Handler.Callback() { + @Override + public boolean handleMessage(Message msg) { + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,15); + + AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) + .setAgvNo("1") + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 21)); + + + if (isDowm) { + System.out.println(agvAction); + 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); + stopBtn = findViewById(R.id.btn_stop); + forceSwitchBtn = findViewById(R.id.btn_force_switch); + goForwardBtn = findViewById(R.id.btn_go_forward); + goBackwardBtn = findViewById(R.id.btn_go_backward); - vibrateButton.setOnClickListener(new View.OnClickListener() { + Intent intent = getIntent(); + clientId = intent.getStringExtra("message"); + Log.i("message1",clientId); + + forceSwitchBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (vibrator != null && vibrator.hasVibrator()) { vibrator.vibrate(500); } + String substring = String.valueOf(new SnowflakeIdWorker().nextId()).substring(0,15); - //socket = new Socket(); - //new SocketTask().execute("192.168.4.188", 802); - //ByteBuf message = Unpooled.copiedBuffer("Hello, Netty!", CharsetUtil.UTF_8); - //SocketManager.getInstance().sendMessage(message); - - String clientId = "/192.168.4.188:63160"; - byte[] message = new byte[]{0x01, 0x02, 0x03, 0x04}; // 绀轰緥娑堟伅 - socketManager.sendMessage(clientId, message); // 鍙戦�佹秷鎭埌瀹㈡埛绔� + AgvAction agvAction = new AgvAction<>(ForceSwitchAction.class) + .setAgvNo("12") + .setSerialNo(substring) + .setVal(1) + .bodySync((action) -> action.setPwd((short) 21)); + nettyServerHandler.sendMessageToClient(clientId, agvAction); // 鍙戦�佹秷鎭埌瀹㈡埛绔� } }); + stopBtn.setOnTouchListener(new CarTouchButton()); + goForwardBtn.setOnTouchListener(new CarTouchButton()); + goBackwardBtn.setOnTouchListener(new CarTouchButton()); + } + + private class CarTouchButton implements View.OnTouchListener { + + @Override + public boolean onTouch(View view, MotionEvent motionEvent) { + if (view.getId() == R.id.btn_go_forward) { + Log.i("message1","1111"); + } else if (view.getId() == R.id.btn_go_backward) { + Log.i("message1","22222"); + 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(); //SocketManager.getInstance().disconnect(); - //SocketManager.getInstance().stopServer(); - socketManager.stopServer(); // 鍋滄鏈嶅姟鍣� + //socketManager.stopServer(); // 鍋滄鏈嶅姟鍣� } } \ No newline at end of file -- Gitblit v1.9.1