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