#
whycq
2025-01-20 a42814eaa86c2167764b73a22ca0b1a0bebd32b6
#
3个文件已修改
6个文件已添加
263 ■■■■■ 已修改文件
app/src/main/AndroidManifest.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/EditeActivity.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/EditeAdapter.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/StartActivity.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/example/agvcontroller/protocol/AGV_F0_UP.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/agv_controller.jks 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_edite.xml 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_start.xml 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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" />
app/src/main/java/com/example/agvcontroller/EditeActivity.java
New file
@@ -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);
    }
}
app/src/main/java/com/example/agvcontroller/EditeAdapter.java
New file
@@ -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;
    }
}
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);
app/src/main/java/com/example/agvcontroller/protocol/AGV_F0_UP.java
New file
@@ -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;
}
app/src/main/res/agv_controller.jks
Binary files differ
app/src/main/res/drawable/logo.png
app/src/main/res/layout/activity_edite.xml
New file
@@ -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>
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>
        <!-- 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>