From a42814eaa86c2167764b73a22ca0b1a0bebd32b6 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 20 一月 2025 14:58:56 +0800 Subject: [PATCH] # --- app/src/main/java/com/example/agvcontroller/StartActivity.java | 66 +++++++++++++++++++++++++++++++- 1 files changed, 63 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/example/agvcontroller/StartActivity.java b/app/src/main/java/com/example/agvcontroller/StartActivity.java index 6d9fef1..534e02d 100644 --- a/app/src/main/java/com/example/agvcontroller/StartActivity.java +++ b/app/src/main/java/com/example/agvcontroller/StartActivity.java @@ -1,7 +1,11 @@ package com.example.agvcontroller; +import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.util.Log; +import android.view.View; +import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; @@ -21,14 +25,28 @@ private RecyclerView recyclerView; private List<Item> items; private ItemAdapter adapter; + private Button addItem; SocketManager socketManager; + @Override protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); + addItem = findViewById(R.id.addbtn); + + recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); + + addItem.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(StartActivity.this, EditeActivity.class); + startActivity(intent); + } + }); items = new ArrayList<>(); @@ -37,18 +55,60 @@ EventBus.getDefault().register(this); + adapter.setmOnItemClickListener(new ItemAdapter.OnItemClickListener() { + + @Override + public void onItemClick(View view, int position) { + Context context = view.getContext(); + Intent intent = new Intent(context,MainActivity.class); + String ip = items.get(position).getIp(); + String clientId = items.get(position).getClientId(); + String agvNo = items.get(position).getAgvNo(); + + + intent.putExtra("ip", ip); + intent.putExtra("agvNo", agvNo); + intent.putExtra("clientId", clientId); + startActivityForResult(intent,1); + } + }); socketManager = new SocketManager(); - socketManager.startServer(8080); + socketManager.startServer(8022); } @Subscribe(threadMode = ThreadMode.MAIN) public void onDeviceConnected(Item deviceAddress) { Log.i("EventBus", "Received device connected: " + deviceAddress); - items.add(new Item("1",deviceAddress.getIp(),"3")); - if (items.size() > 0) { + + + if (!items.isEmpty()) { + int sameIp = 0; for (Item item : items) { + if (item.getIp().equals(deviceAddress.getIp())) { + item.setAgvNo(deviceAddress.getAgvNo()); + item.setPort(deviceAddress.getPort()); + item.setClientId(deviceAddress.getClientId()); + item.setStatus(deviceAddress.getStatus()); + adapter.notifyItemChanged(items.indexOf(item)); + MainActivity.upClient(deviceAddress.getClientId()); + sameIp++; + } Log.i("Item",item.getIp()); + Log.i("Item",item.getClientId()); } + if (sameIp == 0) { + items.add(new Item(deviceAddress.getClientId() + ,deviceAddress.getIp() + ,deviceAddress.getPort() + ,deviceAddress.getAgvNo() + ,deviceAddress.getStatus())); + } + } else { + items.add(new Item(deviceAddress.getClientId() + ,deviceAddress.getIp() + ,deviceAddress.getPort() + ,deviceAddress.getAgvNo() + ,deviceAddress.getStatus())); } adapter.notifyDataSetChanged(); } -- Gitblit v1.9.1