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/res/agv_controller.jks | 0
app/src/main/java/com/example/agvcontroller/StartActivity.java | 13 ++
app/src/main/AndroidManifest.xml | 9 +
app/src/main/res/layout/activity_start.xml | 71 +++++++++++++-
app/src/main/res/drawable/logo.png | 0
app/src/main/java/com/example/agvcontroller/EditeActivity.java | 17 +++
app/src/main/java/com/example/agvcontroller/EditeAdapter.java | 48 +++++++++
app/src/main/java/com/example/agvcontroller/protocol/AGV_F0_UP.java | 40 ++++++++
app/src/main/res/layout/activity_edite.xml | 65 +++++++++++++
9 files changed, 253 insertions(+), 10 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fccd3b5..5317fde 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools" >
+ xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
@@ -17,13 +17,16 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AGVController"
- tools:targetApi="31" >
+ tools:targetApi="31">
+ <activity
+ android:name=".EditeActivity"
+ android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="false" />
<activity
android:name=".StartActivity"
- android:exported="true" >
+ android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git a/app/src/main/java/com/example/agvcontroller/EditeActivity.java b/app/src/main/java/com/example/agvcontroller/EditeActivity.java
new file mode 100644
index 0000000..01ae776
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/EditeActivity.java
@@ -0,0 +1,17 @@
+package com.example.agvcontroller;
+
+import android.os.Bundle;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.graphics.Insets;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.WindowInsetsCompat;
+
+public class EditeActivity extends AppCompatActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_edite);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/agvcontroller/EditeAdapter.java b/app/src/main/java/com/example/agvcontroller/EditeAdapter.java
new file mode 100644
index 0000000..5249683
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/EditeAdapter.java
@@ -0,0 +1,48 @@
+package com.example.agvcontroller;
+
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+public class EditeAdapter extends RecyclerView.Adapter<EditeAdapter.ViewHolder> {
+
+ public static class ViewHolder extends RecyclerView.ViewHolder {
+ TextView agvNo;
+ TextView ip;
+
+ public ViewHolder(@NonNull View itemView) {
+ super(itemView);
+ agvNo = itemView.findViewById(R.id.item_agvNo);
+ ip = itemView.findViewById(R.id.item_ip);
+
+ itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Log.i("List","123");
+ }
+ });
+
+ }
+ }
+
+ @NonNull
+ @Override
+ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return null;
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return 0;
+ }
+
+}
diff --git a/app/src/main/java/com/example/agvcontroller/StartActivity.java b/app/src/main/java/com/example/agvcontroller/StartActivity.java
index e6592be..534e02d 100644
--- a/app/src/main/java/com/example/agvcontroller/StartActivity.java
+++ b/app/src/main/java/com/example/agvcontroller/StartActivity.java
@@ -2,10 +2,10 @@
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
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;
@@ -25,6 +25,7 @@
private RecyclerView recyclerView;
private List<Item> items;
private ItemAdapter adapter;
+ private Button addItem;
SocketManager socketManager;
@Override
@@ -33,10 +34,20 @@
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<>();
adapter = new ItemAdapter(items);
diff --git a/app/src/main/java/com/example/agvcontroller/protocol/AGV_F0_UP.java b/app/src/main/java/com/example/agvcontroller/protocol/AGV_F0_UP.java
new file mode 100644
index 0000000..8ebe5ca
--- /dev/null
+++ b/app/src/main/java/com/example/agvcontroller/protocol/AGV_F0_UP.java
@@ -0,0 +1,40 @@
+package com.example.agvcontroller.protocol;
+
+
+import com.example.agvcontroller.socket.RadixTools;
+
+import java.io.Serializable;
+
+/**
+ * Created by vincent on 2023/3/15
+ */
+public class AGV_F0_UP implements IMessageBody, Serializable {
+
+ private static final long serialVersionUID = -5588066188890649095L;
+
+ @Override
+ public byte[] writeToBytes() {
+ return new byte[0];
+ }
+
+ @Override
+ public void readFromBytes(byte[] bytes) {
+ // password
+ this.password = RadixTools.bytesToHexStr(Utils.sliceWithReverse(bytes, 0, 4));
+ // type
+ this.type = Utils.sliceWithReverse(bytes, 4, 1)[0];
+
+
+ }
+
+ @Override
+ public String getSerialNo() {
+ return "";
+ }
+
+ private String password;
+
+ private byte type;
+
+}
+
diff --git a/app/src/main/res/agv_controller.jks b/app/src/main/res/agv_controller.jks
new file mode 100644
index 0000000..0f946af
--- /dev/null
+++ b/app/src/main/res/agv_controller.jks
Binary files differ
diff --git a/app/src/main/res/drawable/logo.png b/app/src/main/res/drawable/logo.png
new file mode 100644
index 0000000..965ae27
--- /dev/null
+++ b/app/src/main/res/drawable/logo.png
Binary files differ
diff --git a/app/src/main/res/layout/activity_edite.xml b/app/src/main/res/layout/activity_edite.xml
new file mode 100644
index 0000000..4d44a4f
--- /dev/null
+++ b/app/src/main/res/layout/activity_edite.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/main"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".EditeActivity">
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/header"
+ android:layout_width="0dp"
+ android:layout_height="44dp"
+ android:background="#6750a4"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent">
+
+ <!-- Logo on the left -->
+ <ImageView
+ android:id="@+id/logo"
+ android:layout_width="95dp"
+ android:layout_height="32dp"
+ android:layout_marginStart="10dp"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
+ android:adjustViewBounds="true"
+ android:maxWidth="32dp"
+ android:maxHeight="32dp"
+ android:src="@drawable/logo"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+
+ <!-- Title centered in the parent -->
+ <TextView
+ android:id="@+id/headerText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="绠$悊AGV"
+ android:textColor="#dddddd"
+ android:textSize="20sp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent" />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/recyclerView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/header"
+ app:layout_constraintVertical_bias="1.0" />
+
+
+
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/app/src/main/res/layout/activity_start.xml b/app/src/main/res/layout/activity_start.xml
index 6111186..452dc4c 100644
--- a/app/src/main/res/layout/activity_start.xml
+++ b/app/src/main/res/layout/activity_start.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
@@ -7,9 +8,67 @@
android:layout_height="match_parent"
tools:context=".StartActivity">
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/recyclerView"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:id="@+id/header"
+ android:layout_width="0dp"
+ android:layout_height="44dp"
+ android:background="#6750a4"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent">
- </LinearLayout>
\ No newline at end of file
+ <!-- Logo on the left -->
+ <ImageView
+ android:id="@+id/logo"
+ android:layout_width="95dp"
+ android:layout_height="32dp"
+ android:layout_marginStart="10dp"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
+ android:adjustViewBounds="true"
+ android:maxWidth="32dp"
+ android:maxHeight="32dp"
+ android:src="@drawable/logo"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+
+ <!-- Title centered in the parent -->
+ <TextView
+ android:id="@+id/headerText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="涓壃_AGV"
+ android:textColor="#dddddd"
+ android:textSize="20sp"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent" />
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/recyclerView"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ app:layout_constraintBottom_toTopOf="@id/addbtn"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="1.0"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/header"
+ app:layout_constraintVertical_bias="1.0" />
+
+ <Button
+ android:id="@+id/addbtn"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_margin="20dp"
+ android:text="绠$悊璁惧"
+
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.0"
+ app:layout_constraintStart_toStartOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
--
Gitblit v1.9.1