diff --git a/.idea/MarsCodeWorkspaceAppSettings.xml b/.idea/MarsCodeWorkspaceAppSettings.xml
index 8321720..1086cb3 100644
--- a/.idea/MarsCodeWorkspaceAppSettings.xml
+++ b/.idea/MarsCodeWorkspaceAppSettings.xml
@@ -3,6 +3,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
new file mode 100644
index 0000000..ac9d2b2
--- /dev/null
+++ b/.idea/assetWizardSettings.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 3f7b6b3..7baf147 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -3,13 +3,13 @@ plugins {
}
android {
namespace "com.example.tyre"
- compileSdk 33
+ compileSdk 34
// compileSdkVersion 29
// buildToolsVersion '29.0.0'
defaultConfig {
applicationId "com.example.tyre"
- minSdk 24
- targetSdk 33
+ minSdk 26
+ targetSdk 34
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -23,8 +23,12 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility JavaVersion.VERSION_11
+ targetCompatibility JavaVersion.VERSION_11
+ }
+ buildFeatures {
+ viewBinding true
+ dataBinding true
}
}
@@ -41,11 +45,13 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
- implementation 'com.jakewharton:butterknife:10.2.0'
- annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
+// implementation 'com.jakewharton:butterknife:10.2.0'
+// annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
implementation 'com.lzy.net:okgo:3.0.4'
implementation 'com.google.code.gson:gson:2.10.1'
implementation 'androidx.recyclerview:recyclerview:1.3.0'
implementation files('libs/uhfcom13_v15.jar')
implementation files('libs/SerialPort.jar')
+ implementation 'androidx.gridlayout:gridlayout:1.0.0'
+ implementation 'com.google.android.material:material:1.11.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 529caeb..b6b0ac0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -6,10 +6,12 @@
-
-
@@ -22,12 +24,32 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
-
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+ android:exported="true" />
+
+
-
-
-
-
-
-
-
diff --git a/app/src/main/java/com/example/tyre/CheckActivity.java b/app/src/main/java/com/example/tyre/CheckActivity.java
index 355b76e..d6bee37 100644
--- a/app/src/main/java/com/example/tyre/CheckActivity.java
+++ b/app/src/main/java/com/example/tyre/CheckActivity.java
@@ -15,9 +15,7 @@ import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
-import android.widget.Button;
import android.widget.Spinner;
-import android.widget.TextView;
import android.widget.Toast;
import com.android.hdhe.uhf.reader.UhfReader;
@@ -49,27 +47,28 @@ import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityCheckBinding;
+
public class CheckActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
- @BindView(R.id.epc_display) TextInputEditText epcInput;
- @BindView(R.id.th) TextInputEditText tyreNoInput;
- @BindView(R.id.zbh) TextInputEditText selfNoInput;
- @BindView(R.id.tyrecon) TextInputEditText remarkInput;
- @BindView(R.id.patternDepth) TextInputEditText patternDepthInput;
- @BindView(R.id.mileage) TextInputEditText mileageInput;
+ private ActivityCheckBinding binding;
- @BindView(R.id.epc_layout) TextInputLayout epcLayout;
- @BindView(R.id.th_layout) TextInputLayout tyreNoLayout;
- @BindView(R.id.zbh_layout) TextInputLayout selfNoLayout;
- @BindView(R.id.mileage_layout) TextInputLayout mileageNoLayout;
- @BindView(R.id.patternDepth_layout) TextInputLayout patternDepthNoLayout;
+ TextInputEditText epcInput;
+ TextInputEditText tyreNoInput;
+ TextInputEditText selfNoInput;
+ TextInputEditText remarkInput;
+ TextInputEditText patternDepthInput;
+ TextInputEditText mileageInput;
- @BindView(R.id.result) Spinner resultSpinner;
- @BindView(R.id.CheckTypeSpinner) Spinner checkTypeSpinner;
+ TextInputLayout epcLayout;
+ TextInputLayout tyreNoLayout;
+ TextInputLayout selfNoLayout;
+ TextInputLayout mileageNoLayout;
+ TextInputLayout patternDepthNoLayout;
+
+ Spinner resultSpinner;
+ Spinner checkTypeSpinner;
private boolean isStart = true;
@@ -88,8 +87,10 @@ public class CheckActivity extends AppCompatActivity implements AdapterView.OnIt
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_check);
- ButterKnife.bind(this);
+ binding = ActivityCheckBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
listEPC = new ArrayList();
Thread thread = new InventoryThread();
@@ -101,6 +102,24 @@ public class CheckActivity extends AppCompatActivity implements AdapterView.OnIt
showLoadingDialog();
}
+ private void bindViews() {
+ epcInput = binding.epcDisplay;
+ tyreNoInput = binding.th;
+ selfNoInput = binding.zbh;
+ remarkInput = binding.tyrecon;
+ patternDepthInput = binding.patternDepth;
+ mileageInput = binding.mileage;
+
+ epcLayout = binding.epcLayout;
+ tyreNoLayout = binding.thLayout;
+ selfNoLayout = binding.zbhLayout;
+ mileageNoLayout = binding.mileageLayout;
+ patternDepthNoLayout = binding.patternDepthLayout;
+
+ resultSpinner = binding.result;
+ checkTypeSpinner = binding.checkTypeSpinner;
+ }
+
@Override
public void onResume() {
super.onResume();
@@ -221,8 +240,10 @@ public class CheckActivity extends AppCompatActivity implements AdapterView.OnIt
Log.e("EPC", "listepc:+ " + listepc);
}
private void clearData() {
- listEPC.removeAll(listEPC);
- listepc.removeAll(listepc);
+ // listEPC.removeAll(listEPC);
+ // listepc.removeAll(listepc);
+ listEPC.clear();
+ listepc.clear();
}
private void showLoadingDialog() {
progressDialog = new ProgressDialog(this);
@@ -276,14 +297,7 @@ public class CheckActivity extends AppCompatActivity implements AdapterView.OnIt
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
- switch (parent.getId()) {
- case R.id.result:
- // checkresult.setText(parent.getItemAtPosition(position).toString());
- break;
- case R.id.CheckTypeSpinner:
- // checktype.setText(parent.getItemAtPosition(position).toString());
- break;
- }
+
}
@@ -292,41 +306,39 @@ public class CheckActivity extends AppCompatActivity implements AdapterView.OnIt
}
- @OnClick({R.id.wc, R.id.fh})
- public void onViewClicked(View view) {
- switch (view.getId()) {
- case R.id.wc:
- String rfid=epcInput.getText().toString();
- String selectedResult = resultSpinner.getSelectedItem().toString();
- String checkType = checkTypeSpinner.getSelectedItem().toString();
- String remark = remarkInput.getText().toString();
- String mileage = mileageInput.getText().toString().trim();
- String patternDepth = patternDepthInput.getText().toString().trim();
- String tyreNo = tyreNoInput.getText().toString().trim();
- String selfNo = selfNoInput.getText().toString().trim();
- if (rfid == null || rfid.isEmpty() || rfid.equals("等待扫描..."))
- {
- epcLayout.setError("请扫描芯片");
- return;
- }
- if (tyreNo == null || tyreNo.isEmpty())
- {
- tyreNoLayout.setError("请检查胎号数据");
- return;
- }
- if (selfNo == null || selfNo.isEmpty())
- {
- selfNoLayout.setError("请检查自编号数据");
- return;
- }
- showLoadingDialog();
- insert_check_record(rfid,selectedResult,remark,checkType,mileage,patternDepth);
- break;
- case R.id.fh:
- Intent intent=new Intent(this,HomePageActivity.class);
- startActivity(intent);
- break;
- }
+ private void setupClickListeners() {
+ binding.wc.setOnClickListener(v -> {
+ String rfid=epcInput.getText().toString();
+ String selectedResult = resultSpinner.getSelectedItem().toString();
+ String checkType = checkTypeSpinner.getSelectedItem().toString();
+ String remark = remarkInput.getText().toString();
+ String mileage = mileageInput.getText().toString().trim();
+ String patternDepth = patternDepthInput.getText().toString().trim();
+ String tyreNo = tyreNoInput.getText().toString().trim();
+ String selfNo = selfNoInput.getText().toString().trim();
+ if (rfid == null || rfid.isEmpty() || rfid.equals("等待扫描..."))
+ {
+ epcLayout.setError("请扫描芯片");
+ return;
+ }
+ if (tyreNo == null || tyreNo.isEmpty())
+ {
+ tyreNoLayout.setError("请检查胎号数据");
+ return;
+ }
+ if (selfNo == null || selfNo.isEmpty())
+ {
+ selfNoLayout.setError("请检查自编号数据");
+ return;
+ }
+ showLoadingDialog();
+ insert_check_record(rfid,selectedResult,remark,checkType,mileage,patternDepth);
+ });
+
+ binding.fh.setOnClickListener(v -> {
+ Intent intent=new Intent(this,HomePageActivity.class);
+ startActivity(intent);
+ });
}
// 防抖延迟时间 (毫秒)
diff --git a/app/src/main/java/com/example/tyre/DownActivity.java b/app/src/main/java/com/example/tyre/DownActivity.java
index 821f1ca..4939d8c 100644
--- a/app/src/main/java/com/example/tyre/DownActivity.java
+++ b/app/src/main/java/com/example/tyre/DownActivity.java
@@ -46,30 +46,21 @@ import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityDownBinding;
-public class DownActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
+public class DownActivity extends AppCompatActivity {
+
+ private ActivityDownBinding binding;
- @BindView(R.id.epc)
TextView EPC;
- @BindView(R.id.car)
TextView car;
- @BindView(R.id.start)
EditText start;
- @BindView(R.id.azlw)
TextView azlw;
- @BindView(R.id.ok)
Button ok;
- @BindView(R.id.back)
Button back;
- @BindView(R.id.th)
TextView th;
- @BindView(R.id.zbh)
TextView zbh;
- @BindView(R.id.patternDepth)
EditText patternDepth;
private boolean isStart = true;
private ProgressDialog progressDialog;
@@ -87,8 +78,10 @@ public class DownActivity extends AppCompatActivity implements AdapterView.OnIte
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_down);
- ButterKnife.bind(this);
+ binding = ActivityDownBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
listEPC = new ArrayList();
Thread thread = new InventoryThread();
@@ -97,6 +90,55 @@ public class DownActivity extends AppCompatActivity implements AdapterView.OnIte
}
+ private void bindViews() {
+ EPC = binding.epc;
+ car = binding.car;
+ start = binding.start;
+ azlw = binding.azlw;
+ ok = binding.ok;
+ back = binding.back;
+ th = binding.th;
+ zbh = binding.zbh;
+ patternDepth = binding.patternDepth;
+ }
+
+ private void setupClickListeners() {
+ binding.ok.setOnClickListener(v -> {
+ String rfid=EPC.getText().toString();
+ String carNo = car.getText().toString();
+ String millage = start.getText().toString();
+ String wheel = azlw.getText().toString();
+ String depth = patternDepth.getText().toString();
+ if (rfid == null || rfid.isEmpty())
+ {
+ new CommonDialog(DownActivity.this).setMessage("请扫描轮胎!").show();
+ return;
+ }
+ if (carNo == null || carNo.isEmpty())
+ {
+ new CommonDialog(DownActivity.this).setMessage("该轮胎未安装!").show();
+ return;
+ }
+ if (millage == null || millage.isEmpty())
+ {
+ new CommonDialog(DownActivity.this).setMessage("请输入卸胎里程!").show();
+ return;
+ }
+ if (wheel == null || wheel.isEmpty())
+ {
+ new CommonDialog(DownActivity.this).setMessage("该轮胎未安装!").show();
+ return;
+ }
+ showLoadingDialog();
+ down_insert(rfid,carNo,millage,wheel,depth);
+ });
+
+ binding.back.setOnClickListener(v -> {
+ Intent intent = new Intent(this, HomePageActivity.class);
+ startActivity(intent);
+ });
+ }
+
@Override
public void onResume() {
super.onResume();
@@ -264,56 +306,6 @@ public class DownActivity extends AppCompatActivity implements AdapterView.OnIte
private void unregisterReceiver() {
unregisterReceiver(keyReceiver);
}
- @OnClick({R.id.ok, R.id.back})
- public void onViewClicked(View view) {
- switch (view.getId()) {
- case R.id.ok:
- String rfid=EPC.getText().toString();
- String carNo = car.getText().toString();
- String millage = start.getText().toString();
- String wheel = azlw.getText().toString();
- String depth = patternDepth.getText().toString();
- if (rfid == null || rfid.isEmpty())
- {
- new CommonDialog(DownActivity.this).setMessage("请扫描轮胎!").show();
- return;
- }
- if (carNo == null || carNo.isEmpty())
- {
- new CommonDialog(DownActivity.this).setMessage("该轮胎未安装!").show();
- return;
- }
- if (millage == null || millage.isEmpty())
- {
- new CommonDialog(DownActivity.this).setMessage("请输入卸胎里程!").show();
- return;
- }
- if (wheel == null || wheel.isEmpty())
- {
- new CommonDialog(DownActivity.this).setMessage("该轮胎未安装!").show();
- return;
- }
- showLoadingDialog();
- down_insert(rfid,carNo,millage,wheel,depth);
- break;
- case R.id.back:
- Intent intent = new Intent(this, HomePageActivity.class);
- startActivity(intent);
- break;
- }
- }
-
- @Override
- public void onItemSelected(AdapterView> parent, View view, int position, long id) {
- }
-
- @Override
- public void onNothingSelected(AdapterView> parent) {
-
- }
-
-
- // 基本信息查询
private void find(String epc) {
OkGo.post(MyUrl.url + "/tyre/tyre/pdaQueryTyreInfo").tag(this).params("tyreEpc", epc)
.execute(new StringCallback() {
diff --git a/app/src/main/java/com/example/tyre/HomePageActivity.java b/app/src/main/java/com/example/tyre/HomePageActivity.java
index 32132b1..0cd0bad 100644
--- a/app/src/main/java/com/example/tyre/HomePageActivity.java
+++ b/app/src/main/java/com/example/tyre/HomePageActivity.java
@@ -10,28 +10,23 @@ import android.widget.RadioButton;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
+import com.example.tyre.databinding.ActivityHomePageBinding;
+import com.example.tyre.maintenance.NewHomePageActivity;
/**
* Created by 杨万里 on 2019/12/3.
*/
public class HomePageActivity extends AppCompatActivity {
- @BindView(R.id.chaxun)
+
+ private ActivityHomePageBinding binding;
+
RadioButton chaxun;
- @BindView(R.id.ruku)
RadioButton ruku;
- @BindView(R.id.chuku)
RadioButton chuku;
- @BindView(R.id.zhuangxie)
RadioButton zhuangxie;
- @BindView(R.id.huanwei)
RadioButton huanwei;
- @BindView(R.id.zhijian)
RadioButton zhijian;
- @BindView(R.id.logout)
Button logout;
private long exitTime = 0;
@@ -39,52 +34,70 @@ public class HomePageActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_homepage);
- ButterKnife.bind(this);
+ binding = ActivityHomePageBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
}
- /**
- * 修改点 1:在注解列表中加入 R.id.logout
- */
- @OnClick({R.id.chaxun, R.id.ruku, R.id.chuku, R.id.zhuangxie, R.id.huanwei, R.id.zhijian, R.id.xxbd,R.id.test1, R.id.logout})
- public void onViewClicked(View view) {
- Intent intent; // 建议在这里声明,而不是方法最开始
+ private void bindViews() {
+ chaxun = binding.chaxun;
+ ruku = binding.ruku;
+ chuku = binding.chuku;
+ zhuangxie = binding.zhuangxie;
+ huanwei = binding.huanwei;
+ zhijian = binding.zhijian;
+ logout = binding.logout;
+ }
- switch (view.getId()) {
- case R.id.chaxun:
- intent = new Intent(this, TyreSearchActivity.class);
- break;
- case R.id.ruku:
- intent = new Intent(this, InStoreHouseActivity.class);
- break;
- case R.id.chuku:
- intent = new Intent(this, OutStoreHouseActivity.class);
- break;
- case R.id.zhuangxie:
- intent = new Intent(this, UpActivity.class);
- break;
- case R.id.huanwei:
- intent = new Intent(this, DownActivity.class);
- break;
- case R.id.zhijian:
- intent = new Intent(this, CheckActivity.class);
- break;
- case R.id.xxbd:
- intent = new Intent(this, TestActivity.class);
- break;
- case R.id.test1:
- intent = new Intent(this, TyreLayoutActivity.class);
- break;
- case R.id.logout:
- // 修改点 2:处理退出逻辑
- handleLogout();
- return; // 退出后直接返回,不需要执行下面的 startActivity
- default:
- return;
- }
+ private void setupClickListeners() {
+ binding.chaxun.setOnClickListener(v -> {
+ Intent intent = new Intent(this, TyreSearchActivity.class);
+ startActivity(intent);
+ });
- // 只有非退出按钮才执行跳转
- startActivity(intent);
+ binding.ruku.setOnClickListener(v -> {
+ Intent intent = new Intent(this, InStoreHouseActivity.class);
+ startActivity(intent);
+ });
+
+ binding.chuku.setOnClickListener(v -> {
+ Intent intent = new Intent(this, OutStoreHouseActivity.class);
+ startActivity(intent);
+ });
+
+ binding.zhuangxie.setOnClickListener(v -> {
+ Intent intent = new Intent(this, UpActivity.class);
+ startActivity(intent);
+ });
+
+ binding.huanwei.setOnClickListener(v -> {
+ Intent intent = new Intent(this, DownActivity.class);
+ startActivity(intent);
+ });
+
+ binding.zhijian.setOnClickListener(v -> {
+ Intent intent = new Intent(this, CheckActivity.class);
+ startActivity(intent);
+ });
+
+ binding.xxbd.setOnClickListener(v -> {
+ Intent intent = new Intent(this, TestActivity.class);
+ startActivity(intent);
+ });
+
+ binding.test1.setOnClickListener(v -> {
+ Intent intent = new Intent(this, TyreLayoutActivity.class);
+ startActivity(intent);
+ });
+
+ binding.logout.setOnClickListener(v -> {
+ handleLogout();
+ });
+ binding.inNewSystem.setOnClickListener(v -> {
+ Intent intent = new Intent(this, NewHomePageActivity.class);
+ startActivity(intent);
+ });
}
/**
diff --git a/app/src/main/java/com/example/tyre/InStoreHouseActivity.java b/app/src/main/java/com/example/tyre/InStoreHouseActivity.java
index 9627903..46c68ce 100644
--- a/app/src/main/java/com/example/tyre/InStoreHouseActivity.java
+++ b/app/src/main/java/com/example/tyre/InStoreHouseActivity.java
@@ -6,8 +6,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
import android.os.SystemClock;
import android.util.Log;
import android.view.KeyEvent;
@@ -21,88 +19,57 @@ import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.appcompat.app.AppCompatActivity;
+
import com.android.hdhe.uhf.reader.UhfReader;
import com.android.hdhe.uhf.readerInterface.TagModel;
+import com.example.tyre.databinding.ActivityInstorehouseBinding;
import com.example.tyre.entity.AjaxResult;
import com.example.tyre.entity.BaseTyre;
import com.example.tyre.entity.EPC;
import com.example.tyre.entity.InStoreSpinnerVo;
-import com.example.tyre.entity.Tyre;
import com.example.tyre.util.CommonDialog;
import com.example.tyre.util.MyUrl;
-import com.example.tyre.util.PlayMusic;
import com.example.tyre.util.SharedPreferencesUtils;
import com.example.tyre.util.Util;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
-import com.google.gson.reflect.TypeToken;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
-
-import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
-import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
/**
* Created by 杨万里 on 2019/12/10.
*/
-public class InStoreHouseActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
+public class InStoreHouseActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
- @BindView(R.id.button)
Button button;
- @BindView(R.id.epc)
TextView scan;
- @BindView(R.id.pinpai)
TextView pinpai;
- @BindView(R.id.xinghao)
TextView xinghao;
- @BindView(R.id.cengji)
TextView cengji;
- @BindView(R.id.huawen)
TextView huawen;
- @BindView(R.id.gcts)
TextView gcts;
- @BindView(R.id.back)
Button back;
- @BindView(R.id.wtbm)
EditText wtbm;
-// @BindView(R.id.zbh)
-// EditText zbh;
-// @BindView(R.id.spinner)
-// Spinner spinner;
- @BindView(R.id.linearLayout3)
LinearLayout linearLayout3;
-// @BindView(R.id.czy)
-// TextView czy;
- @BindView(R.id.tyrekind)
TextView tyrekind;
- @BindView(R.id.spinnerkind)
Spinner spinnerkind;
-
- @BindView(R.id.spinnerpattern)
Spinner spinnerpattern;
-
- @BindView(R.id.spinnerlevel)
Spinner spinnerlevel;
-
- @BindView(R.id.spinnerSize)
Spinner spinnerSize;
-
- @BindView(R.id.spinnerBrand)
Spinner spinnerBrand;
-
- @BindView(R.id.spinnergcts)
Spinner spinnergcts;
- // private UHFService mDevice;
+ long lastTime;
+ long nextTime;
+ private ActivityInstorehouseBinding binding;
+ // private UHFService mDevice;
// private MyHandler handler;
private boolean isStart = true;
private ProgressDialog progressDialog;
@@ -111,11 +78,17 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
private UhfReader manager; // UHF manager,UHF Operating handle
private ArrayList listEPC;
private ArrayList listepc = new ArrayList();
+ private Toast mToast;
+ private Toast toast;
+ private KeyReceiver keyReceiver;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_instorehouse);
- ButterKnife.bind(this);
+ binding = ActivityInstorehouseBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
check_spinner();
showLoadingDialog();
@@ -129,14 +102,59 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
Thread thread = new InventoryThread();
thread.start();
com.example.tyre.util.Util.initSoundPool(this);
-// spinner.setOnItemSelectedListener(this);
}
+
+ private void bindViews() {
+ button = binding.button;
+ scan = binding.epc;
+ pinpai = binding.pinpai;
+ xinghao = binding.xinghao;
+ cengji = binding.cengji;
+ huawen = binding.huawen;
+ gcts = binding.gcts;
+ back = binding.back;
+ wtbm = binding.wtbm;
+ linearLayout3 = binding.linearLayout3;
+ tyrekind = binding.tyrekind;
+ spinnerkind = binding.spinnerkind;
+ spinnerpattern = binding.spinnerpattern;
+ spinnerlevel = binding.spinnerlevel;
+ spinnerSize = binding.spinnerSize;
+ spinnerBrand = binding.spinnerBrand;
+ spinnergcts = binding.spinnergcts;
+ }
+
+ private void setupClickListeners() {
+ binding.button.setOnClickListener(v -> {
+ String epc = scan.getText().toString();
+ String w = wtbm.getText().toString();
+ String p = pinpai.getText().toString();
+ String x = xinghao.getText().toString();
+ String c = cengji.getText().toString();
+ String h = huawen.getText().toString();
+ String t = tyrekind.getText().toString();
+ String g = gcts.getText().toString();
+ if (scan.getText().toString() == "") {
+ new CommonDialog(InStoreHouseActivity.this).setMessage("请扫描轮胎芯片!").show();
+ return;
+ }
+ showLoadingDialog();
+ insert_inventory(epc, w, p, x, c, h, g, t);
+ });
+
+ binding.back.setOnClickListener(v -> {
+ Intent intent = new Intent(this, HomePageActivity.class);
+ startActivity(intent);
+ });
+ }
+
private void showLoadingDialog() {
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("数据加载中...");
progressDialog.setCancelable(false);
progressDialog.show();
}
+
private void hideLoadingDialog() {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
@@ -167,51 +185,11 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
runFlag = false;
super.onDestroy();
}
+
private void initView() {
listEPC = new ArrayList();
}
- /**
- * Inventory EPC Thread
- */
- class InventoryThread extends Thread {
- private List tagList;
- byte[] accessPassword = Tools.HexString2Bytes("00000000");
- @Override
- public void run() {
- super.run();
- while (runFlag) {
- if (startFlag) {
- tagList = manager.inventoryRealTime(); //实时盘存
- if (tagList != null && !tagList.isEmpty()) {
- //播放提示音
- Util.play(1, 0);
- for (TagModel tag : tagList) {
- if (tag == null) {
- String epcStr = "";
-// String epcStr = new String(epc);
- addToList(listEPC, epcStr, (byte) -1);
- } else {
- String epcStr = Tools.Bytes2HexString(tag.getmEpcBytes(), tag.getmEpcBytes().length);
-// String epcStr = new String(epc);
- byte rssi = tag.getmRssi();
- addToList(listEPC, epcStr, rssi);
- }
- }
- }
- tagList = null;
- try {
- Thread.sleep(20);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- }
- long lastTime;
- long nextTime;
// EPC add to LISTVIEW
private void addToList(final List list, final String epc, final byte rssi) {
runOnUiThread(new Runnable() {
@@ -226,7 +204,7 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
list.add(epcTag);
listepc.add(epc);
- }else {
+ } else {
for (int i = 0; i < list.size(); i++) {
EPC mEPC = list.get(i);
// list contain this epc
@@ -248,14 +226,14 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
}
// play sound
- lastTime = SystemClock.elapsedRealtime();
+ lastTime = SystemClock.elapsedRealtime();
long time = lastTime - nextTime;
if (time >= 60) {
Util.play(1, 0);
nextTime = lastTime;
Log.e("TAG", "run: " + time);
}
- if (listepc != null && !listepc.isEmpty()){
+ if (listepc != null && !listepc.isEmpty()) {
startFlag = false;
String currentEpc = listepc.get(0);
scan.setText(currentEpc);
@@ -274,74 +252,80 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
// }
// clearData();
}
+
private void clearData() {
- listEPC.removeAll(listEPC);
- listepc.removeAll(listepc);
+ listEPC.clear();
+ listepc.clear();
}
+
// 基本信息查询
private void find(String epc) {
OkGo.post(MyUrl.url + "/tyre/tyre/pdaQueryTyreInfo").tag(this)
.params("tyreEpc", epc)
.execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- String body = response.body();
- Log.e("body", body);
- try {
- Gson gson = new Gson();
- BaseTyre baseTyre = gson.fromJson(body, BaseTyre.class);
- if (baseTyre != null) {
- // 空值处理:若字段为 null 则显示空字符串
- String tyreNo = safeGetString(baseTyre.getTyreNo());
- wtbm.setText(tyreNo);
- String brand = safeGetString(baseTyre.getTyreBrand());
- String model = safeGetString(baseTyre.getTyreModel());
- String level = safeGetString(baseTyre.getTyreLevel());
- String pattern = safeGetString(baseTyre.getTyrePattern());
- String kind = safeGetString(baseTyre.getTyreType());
- pinpai.setText(brand);
- xinghao.setText(model);
- cengji.setText(level);
- huawen.setText(pattern);
- tyrekind.setText(kind);
+ @Override
+ public void onSuccess(Response response) {
+ String body = response.body();
+ Log.e("body", body);
+ try {
+ Gson gson = new Gson();
+ BaseTyre baseTyre = gson.fromJson(body, BaseTyre.class);
+ if (baseTyre != null) {
+ // 空值处理:若字段为 null 则显示空字符串
+ String tyreNo = safeGetString(baseTyre.getTyreNo());
+ wtbm.setText(tyreNo);
+ String brand = safeGetString(baseTyre.getTyreBrand());
+ String model = safeGetString(baseTyre.getTyreModel());
+ String level = safeGetString(baseTyre.getTyreLevel());
+ String pattern = safeGetString(baseTyre.getTyrePattern());
+ String kind = safeGetString(baseTyre.getTyreType());
+ pinpai.setText(brand);
+ xinghao.setText(model);
+ cengji.setText(level);
+ huawen.setText(pattern);
+ tyrekind.setText(kind);
+ }
+ } catch (JsonSyntaxException e) {
+ return;
+ }
}
- } catch (JsonSyntaxException e) {
- return;
- }
- }
- });
+ });
}
+
private String safeGetString(String value) {
return value == null || "null".equals(value) ? "" : value;
}
- //添加到库存表
- private void insert_inventory(String epc,String wtbm,String pinpai,String xinghao,String cengji,String huawen,String grooves,String tyrekind) {
+
+ // 添加到库存表
+ private void insert_inventory(String epc, String wtbm, String pinpai, String xinghao, String cengji, String huawen, String grooves, String tyrekind) {
OkGo.post(MyUrl.url + "/tyre/inventory/pdaAddInventory").tag(this)
.params("tyreRfid", epc)
- .params("tyreEpc",epc)
- .params("tyreOutsideId",wtbm)
- .params("tyreBrand",pinpai)
- .params("tyreModel",xinghao)
- .params("tyreLevel",cengji)
- .params("tyrePattern",huawen)
- .params("grooves",grooves)
- .params("tyreType",tyrekind)
- .params("CreateBy",SharedPreferencesUtils.getstring("user","admin")).execute(new StringCallback() {
- @Override
- public void onSuccess(Response response) {
- hideLoadingDialog();
- String body = response.body();
- Gson gson = new Gson();
- AjaxResult ajaxResult = gson.fromJson(body, AjaxResult.class);
- handleResponse(ajaxResult);
- }
- @Override
- public void onError(Response response) {
- hideLoadingDialog();
- Toast.makeText(InStoreHouseActivity.this, "请求失败,请检查网络或重试", Toast.LENGTH_SHORT).show();
- }
- });
+ .params("tyreEpc", epc)
+ .params("tyreOutsideId", wtbm)
+ .params("tyreBrand", pinpai)
+ .params("tyreModel", xinghao)
+ .params("tyreLevel", cengji)
+ .params("tyrePattern", huawen)
+ .params("grooves", grooves)
+ .params("tyreType", tyrekind)
+ .params("CreateBy", SharedPreferencesUtils.getstring("user", "admin")).execute(new StringCallback() {
+ @Override
+ public void onSuccess(Response response) {
+ hideLoadingDialog();
+ String body = response.body();
+ Gson gson = new Gson();
+ AjaxResult ajaxResult = gson.fromJson(body, AjaxResult.class);
+ handleResponse(ajaxResult);
+ }
+
+ @Override
+ public void onError(Response response) {
+ hideLoadingDialog();
+ Toast.makeText(InStoreHouseActivity.this, "请求失败,请检查网络或重试", Toast.LENGTH_SHORT).show();
+ }
+ });
}
+
private void handleResponse(AjaxResult result) {
switch (result.getCode()) {
case "500":
@@ -352,103 +336,35 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
break;
}
}
- @OnClick({R.id.button, R.id.back})
- public void onViewClicked(View view) {
- switch (view.getId()) {
- case R.id.button:
-// int len=wtbm.getText().toString().length();
-// if (len != 11){
-// new CommonDialog(InStoreHouseActivity.this).setMessage("胎号填写错误").show();
-// }else {
-// Log.e("aaaaa",epc.substring(4)+wtbm.getText().toString()+tyrekind.getText().toString());
- String epc=scan.getText().toString();
- String w=wtbm.getText().toString();
-// String zb=zbh.getText().toString();
- String p = pinpai.getText().toString();
- String x=xinghao.getText().toString();
- String c=cengji.getText().toString();
- String h=huawen.getText().toString();
- String t=tyrekind.getText().toString();
- String g=gcts.getText().toString();
- if (scan.getText().toString()==""){
- new CommonDialog(InStoreHouseActivity.this).setMessage("请扫描轮胎芯片!").show();
- return;
- }
- showLoadingDialog();
- insert_inventory(epc,w,p,x,c,h,g,t);
-// }
- break;
- case R.id.back:
- Intent intent = new Intent(this, HomePageActivity.class);
- startActivity(intent);
- break;
- }
-
- }
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
- switch (parent.getId()){
+
+ int id1 = parent.getId();
+
// case R.id.spinner:
// czy.setText(parent.getItemAtPosition(position).toString());
// break;
- case R.id.spinnerkind:
- tyrekind.setText(parent.getItemAtPosition(position).toString());
- break;
- case R.id.spinnerpattern:
- huawen.setText(parent.getItemAtPosition(position).toString());
- break;
- case R.id.spinnerlevel:
- cengji.setText(parent.getItemAtPosition(position).toString());
- break;
- case R.id.spinnerSize:
- xinghao.setText(parent.getItemAtPosition(position).toString());
- break;
- case R.id.spinnerBrand:
- pinpai.setText(parent.getItemAtPosition(position).toString());
- break;
- case R.id.spinnergcts:
- gcts.setText(parent.getItemAtPosition(position).toString());
- break;
+ if (id1 == R.id.spinnerkind) {
+ tyrekind.setText(parent.getItemAtPosition(position).toString());
+ } else if (id1 == R.id.spinnerpattern) {
+ huawen.setText(parent.getItemAtPosition(position).toString());
+ } else if (id1 == R.id.spinnerlevel) {
+ cengji.setText(parent.getItemAtPosition(position).toString());
+ } else if (id1 == R.id.spinnerSize) {
+ xinghao.setText(parent.getItemAtPosition(position).toString());
+ } else if (id1 == R.id.spinnerBrand) {
+ pinpai.setText(parent.getItemAtPosition(position).toString());
+ } else if (id1 == R.id.spinnergcts) {
+ gcts.setText(parent.getItemAtPosition(position).toString());
}
}
- private Toast mToast;
-
- private Toast toast;
@Override
public void onNothingSelected(AdapterView> parent) {
}
- private class KeyReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- int keyCode = intent.getIntExtra("keyCode", 0);
- if (keyCode == 0) {
- keyCode = intent.getIntExtra("keycode", 0);
- }
- boolean keyDown = intent.getBooleanExtra("keydown", false);
- if (keyDown) {
- if (toast == null) {
- // toast = Toast.makeText(InStoreHouseActivity.this, "KeyReceiver:keyCode = down" + keyCode, Toast.LENGTH_SHORT);
- } else {
- // toast.setText("KeyReceiver:keyCode = down" + keyCode);
- }
- // toast.show();
- switch (keyCode) {
- case KeyEvent.KEYCODE_F1:
- case KeyEvent.KEYCODE_F2:
- case KeyEvent.KEYCODE_F3:
- case KeyEvent.KEYCODE_F4:
- case KeyEvent.KEYCODE_F5:
- //扫描
- startFlag = true;
- break;
- }
- }
- }
- }
private void check_spinner() {
OkGo.post(MyUrl.url + "/system/dict/data/tyreTypeList").execute(new StringCallback() {
@Override
@@ -456,20 +372,26 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
hideLoadingDialog();
String body = response.body();
Gson gson = new Gson();
- InStoreSpinnerVo inStoreSpinnerVo=new InStoreSpinnerVo();
- inStoreSpinnerVo = gson.fromJson(body,InStoreSpinnerVo.class);
- List stringList=inStoreSpinnerVo.getKindList();
- List patternList=inStoreSpinnerVo.getPatternList();
- List patternLevel=inStoreSpinnerVo.getLevelList();
- List patternSize=inStoreSpinnerVo.getTyreSizeList();
- List patternBrand=inStoreSpinnerVo.getTyreBrandList();
- List patternGcts=inStoreSpinnerVo.getGctsList();
- ArrayAdapter arrayAdapter = new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, stringList);
- ArrayAdapter arrayAdapterPattern = new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternList);
- ArrayAdapter arrayAdapterLevel = new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternLevel);
- ArrayAdapter arrayAdapterSize = new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternSize);
- ArrayAdapter arrayAdapterBrand = new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternBrand);
- ArrayAdapter arrayAdapterGcts = new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternGcts);
+ InStoreSpinnerVo inStoreSpinnerVo = new InStoreSpinnerVo();
+ inStoreSpinnerVo = gson.fromJson(body, InStoreSpinnerVo.class);
+ List stringList = inStoreSpinnerVo.getKindList();
+ List patternList = inStoreSpinnerVo.getPatternList();
+ List patternLevel = inStoreSpinnerVo.getLevelList();
+ List patternSize = inStoreSpinnerVo.getTyreSizeList();
+ List patternBrand = inStoreSpinnerVo.getTyreBrandList();
+ List patternGcts = inStoreSpinnerVo.getGctsList();
+ ArrayAdapter arrayAdapter =
+ new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, stringList);
+ ArrayAdapter arrayAdapterPattern =
+ new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternList);
+ ArrayAdapter arrayAdapterLevel =
+ new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternLevel);
+ ArrayAdapter arrayAdapterSize =
+ new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternSize);
+ ArrayAdapter arrayAdapterBrand =
+ new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternBrand);
+ ArrayAdapter arrayAdapterGcts =
+ new ArrayAdapter<>(InStoreHouseActivity.this, android.R.layout.simple_list_item_1, patternGcts);
spinnerkind.setAdapter(arrayAdapter);
spinnerpattern.setAdapter(arrayAdapterPattern);
spinnerlevel.setAdapter(arrayAdapterLevel);
@@ -539,7 +461,7 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
}
});
}
- private KeyReceiver keyReceiver;
+
private void registerReceiver() {
keyReceiver = new KeyReceiver();
IntentFilter filter = new IntentFilter();
@@ -547,7 +469,83 @@ public class InStoreHouseActivity extends AppCompatActivity implements AdapterVi
filter.addAction("android.intent.action.FUN_KEY");
registerReceiver(keyReceiver, filter);
}
+
private void unregisterReceiver() {
unregisterReceiver(keyReceiver);
}
+
+ /**
+ * Inventory EPC Thread
+ */
+ class InventoryThread extends Thread {
+ byte[] accessPassword = Tools.HexString2Bytes("00000000");
+ private List tagList;
+
+ @Override
+ public void run() {
+ super.run();
+ while (runFlag) {
+ if (startFlag) {
+ tagList = manager.inventoryRealTime(); // 实时盘存
+ if (tagList != null && !tagList.isEmpty()) {
+ // 播放提示音
+ Util.play(1, 0);
+ for (TagModel tag : tagList) {
+ if (tag == null) {
+ String epcStr = "";
+// String epcStr = new String(epc);
+ addToList(listEPC, epcStr, (byte) -1);
+ } else {
+ String epcStr =
+ Tools.Bytes2HexString(tag.getmEpcBytes(), tag.getmEpcBytes().length);
+// String epcStr = new String(epc);
+ byte rssi = tag.getmRssi();
+ addToList(listEPC, epcStr, rssi);
+ }
+
+ }
+ }
+ tagList = null;
+ try {
+ Thread.sleep(20);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+
+ private class KeyReceiver extends BroadcastReceiver {
+
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ int keyCode = intent.getIntExtra("keyCode", 0);
+ if (keyCode == 0) {
+ keyCode = intent.getIntExtra("keycode", 0);
+ }
+ boolean keyDown = intent.getBooleanExtra("keydown", false);
+ if (keyDown) {
+ if (toast == null) {
+ // toast = Toast.makeText(InStoreHouseActivity.this, "KeyReceiver:keyCode = down" + keyCode, Toast.LENGTH_SHORT);
+ } else {
+ // toast.setText("KeyReceiver:keyCode = down" + keyCode);
+ }
+ // toast.show();
+ switch (keyCode) {
+ case KeyEvent.KEYCODE_F1:
+ case KeyEvent.KEYCODE_F2:
+ case KeyEvent.KEYCODE_F3:
+ case KeyEvent.KEYCODE_F4:
+ case KeyEvent.KEYCODE_F5:
+ // 扫描
+ startFlag = true;
+ break;
+ }
+ }
+ }
+ }
}
+
diff --git a/app/src/main/java/com/example/tyre/MainActivity.java b/app/src/main/java/com/example/tyre/MainActivity.java
index f059324..f788b3c 100644
--- a/app/src/main/java/com/example/tyre/MainActivity.java
+++ b/app/src/main/java/com/example/tyre/MainActivity.java
@@ -20,6 +20,7 @@ import android.os.Bundle;
import android.os.Environment;
import android.os.Process;
import android.util.Log;
+import android.view.WindowManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
@@ -46,20 +47,16 @@ import org.json.JSONObject;
import java.io.File;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
+import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
- @BindView(R.id.login_name)
+ private ActivityMainBinding binding;
+
EditText loginName;
- @BindView(R.id.login_pass)
EditText loginPass;
- @BindView(R.id.login_log)
Button loginLog;
- @BindView(R.id.checkbox_remember)
CheckBox cbRemember;
- @BindView(R.id.version)
TextView version;
// 声明进度条变量
private ProgressDialog progressDialog;
@@ -74,15 +71,38 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- ButterKnife.bind(this);
- // --- 新增:页面加载时读取保存的账号密码 ---
+ binding = ActivityMainBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
initRememberInfo();
- // 2. 检查权限并开始检查更新
- //showLoadingDialog();
- //checkPermissionsAndUpdate();
- // 注册下载完成广播接收器
- //registerReceiver(onDownloadComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+ checkPermissionsAndUpdate();
+ // 隐藏状态栏
+ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ }
+
+ private void bindViews() {
+ loginName = binding.loginName;
+ loginPass = binding.loginPass;
+ loginLog = binding.loginLog;
+ cbRemember = binding.checkboxRemember;
+ version = binding.version;
+ }
+
+ private void setupClickListeners() {
+ binding.loginLog.setOnClickListener(v -> {
+ String name = loginName.getText().toString().trim();
+ String pass = loginPass.getText().toString().trim();
+ boolean isRemember = cbRemember.isChecked();
+
+ if (name.isEmpty() || pass.isEmpty()) {
+ Toast.makeText(this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ showLoadingDialog();
+ login(name, pass, isRemember);
+ });
}
/**
* 检查权限并开始版本更新检查
@@ -122,26 +142,6 @@ public class MainActivity extends AppCompatActivity {
}
}
- @OnClick(R.id.login_log)
- public void onViewClicked() {
- // 获取输入内容
- String name = loginName.getText().toString().trim();
- String pass = loginPass.getText().toString().trim();
-
- // --- 修改:在点击登录时立即获取CheckBox状态 ---
- // 注意:这里直接用 cbRemember.isChecked(),不要等到网络请求回来再判断
- boolean isRemember = cbRemember.isChecked();
-
- // 简单的非空校验
- if (name.isEmpty() || pass.isEmpty()) {
- Toast.makeText(this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
- return;
- }
-
- showLoadingDialog();
- login(name, pass, isRemember); // 将状态传递给 login 方法
- }
-
/**
* 核心逻辑:检查更新
*/
diff --git a/app/src/main/java/com/example/tyre/OutStoreHouseActivity.java b/app/src/main/java/com/example/tyre/OutStoreHouseActivity.java
index a0b697b..1ab1ffa 100644
--- a/app/src/main/java/com/example/tyre/OutStoreHouseActivity.java
+++ b/app/src/main/java/com/example/tyre/OutStoreHouseActivity.java
@@ -42,32 +42,21 @@ import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityOutStoreHouseBinding;
public class OutStoreHouseActivity extends AppCompatActivity {
- @BindView(R.id.epc)
+ private ActivityOutStoreHouseBinding binding;
+
TextView scan;
- @BindView(R.id.pinpai)
TextView pinpai;
- @BindView(R.id.xinghao)
TextView xinghao;
- @BindView(R.id.cengji)
TextView cengji;
- @BindView(R.id.huawen)
TextView huawen;
- @BindView(R.id.button)
Button button;
- @BindView(R.id.wtbm)
TextView wtbm;
-// @BindView(R.id.zbh)
-// TextView zbh;
- @BindView(R.id.back)
Button back;
- @BindView(R.id.ltlb)
TextView ltlb;
private boolean isStart = true;
private ProgressDialog progressDialog;
@@ -84,8 +73,10 @@ public class OutStoreHouseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_out_store_house);
- ButterKnife.bind(this);
+ binding = ActivityOutStoreHouseBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
listEPC = new ArrayList();
Thread thread = new InventoryThread();
@@ -93,6 +84,30 @@ public class OutStoreHouseActivity extends AppCompatActivity {
Util.initSoundPool(this);
}
+ private void bindViews() {
+ scan = binding.epc;
+ pinpai = binding.pinpai;
+ xinghao = binding.xinghao;
+ cengji = binding.cengji;
+ huawen = binding.huawen;
+ button = binding.button;
+ wtbm = binding.wtbm;
+ back = binding.back;
+ ltlb = binding.ltlb;
+ }
+
+ private void setupClickListeners() {
+ binding.button.setOnClickListener(v -> {
+ showLoadingDialog();
+ out_inventory(scan.getText().toString(),SharedPreferencesUtils.getstring("user","admin"));
+ });
+
+ binding.back.setOnClickListener(v -> {
+ Intent intent = new Intent(this, HomePageActivity.class);
+ startActivity(intent);
+ });
+ }
+
@Override
public void onResume() {
@@ -262,7 +277,6 @@ public class OutStoreHouseActivity extends AppCompatActivity {
private String safeGetString(String value) {
return value == null || "null".equals(value) ? "" : value;
}
- //轮胎出库
private void out_inventory(String epc,String createBy) {
OkGo.post(MyUrl.url + "/tyre/inventory/pdaOutInventory").tag(this)
.params("tyreRfid", epc)
@@ -279,22 +293,6 @@ public class OutStoreHouseActivity extends AppCompatActivity {
});
}
- @OnClick({R.id.button, R.id.back})
- public void onViewClicked(View view) {
- switch (view.getId()) {
- case R.id.button:
-// Log.e("aaaaa",epc.substring(4)+wtbm.getText().toString());
- showLoadingDialog();
- out_inventory(scan.getText().toString(),SharedPreferencesUtils.getstring("user","admin"));
- break;
- case R.id.back:
- Intent intent = new Intent(this, HomePageActivity.class);
- startActivity(intent);
- break;
- }
-
- }
-
private class KeyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
diff --git a/app/src/main/java/com/example/tyre/SwitchActivity.java b/app/src/main/java/com/example/tyre/SwitchActivity.java
index 800c484..0030e50 100644
--- a/app/src/main/java/com/example/tyre/SwitchActivity.java
+++ b/app/src/main/java/com/example/tyre/SwitchActivity.java
@@ -33,35 +33,24 @@ import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
+import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivitySwitchBinding;
public class SwitchActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
- @BindView(R.id.epc)
+ private ActivitySwitchBinding binding;
+
TextView epc1;
- @BindView(R.id.car1)
TextView car1;
- @BindView(R.id.lw1)
TextView lw1;
- @BindView(R.id.epc2)
TextView epc2;
- @BindView(R.id.car)
TextView car;
- @BindView(R.id.lw2)
TextView lw2;
- @BindView(R.id.ok)
Button ok;
- @BindView(R.id.back)
Button back;
- @BindView(R.id.wth1)
TextView wth1;
- @BindView(R.id.linearLayout5)
LinearLayout linearLayout5;
- @BindView(R.id.wth2)
TextView wth2;
- @BindView(R.id.lc)
EditText lc;
// @BindView(R.id.czr)
// TextView czr;
@@ -83,16 +72,66 @@ public class SwitchActivity extends AppCompatActivity implements AdapterView.OnI
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_switch);
- ButterKnife.bind(this);
+ binding = ActivitySwitchBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
myHandler = new MyHandler(this);
-// spinner.setOnItemSelectedListener(this);
upTyre = new UpTyre();
changeTyre = new ChangeTyre();
list_change = new ArrayList<>();
PlayMusic.init(this);
}
+ private void bindViews() {
+ epc1 = binding.epc;
+ car1 = binding.car1;
+ lw1 = binding.lw1;
+ epc2 = binding.epc2;
+ car = binding.car;
+ lw2 = binding.lw2;
+ ok = binding.ok;
+ back = binding.back;
+ wth1 = binding.wth1;
+ linearLayout5 = binding.linearLayout5;
+ wth2 = binding.wth2;
+ lc = binding.lc;
+ }
+
+ private void setupClickListeners() {
+ binding.ok.setOnClickListener(v -> {
+ changeTyre.setCarnumber(car.getText().toString());
+ changeTyre.setTyreEPCOne(epc1.getText().toString());
+ changeTyre.setTyreEPCTwo(epc2.getText().toString());
+ changeTyre.setSiteNoOneOld(lw1.getText().toString());
+ changeTyre.setSiteNoOneNow(lw2.getText().toString());
+ changeTyre.setSiteNoTwoOld(lw2.getText().toString());
+ changeTyre.setSiteNoTwoNow(lw1.getText().toString());
+ list_change.add(changeTyre);
+ String json = gson.toJson(list_change);
+ Log.e("json", json + wth1.getText().toString() + wth2.getText().toString() + userID);
+ if (epc1.getText().toString().equals(epc2.getText().toString())){
+ new CommonDialog(SwitchActivity.this).setMessage("轮胎EPC一样").show();
+ }
+ else if (!car.getText().toString().equals(car1.getText().toString()))
+ {
+ new CommonDialog(SwitchActivity.this).setMessage("车牌号不一样").show();
+ }
+ else if (lc.getText().toString().isEmpty()){
+ new CommonDialog(SwitchActivity.this).setMessage("换位里程不能为空").show();
+ }
+ else {
+ change(json, wth1.getText().toString(), wth2.getText().toString(), userID,lc.getText().toString());
+ }
+ list_change.clear();
+ });
+
+ binding.back.setOnClickListener(v -> {
+ Intent intent = new Intent(this, HomePageActivity.class);
+ startActivity(intent);
+ });
+ }
+
@Override
public void onResume() {
super.onResume();
@@ -159,42 +198,6 @@ public class SwitchActivity extends AppCompatActivity implements AdapterView.OnI
public void onNothingSelected(AdapterView> parent) {
}
- @OnClick({R.id.ok, R.id.back})
- public void onViewClicked(View view) {
- switch (view.getId()) {
- case R.id.ok:
- changeTyre.setCarnumber(car.getText().toString());
- changeTyre.setTyreEPCOne(epc1.getText().toString());
- changeTyre.setTyreEPCTwo(epc2.getText().toString());
- changeTyre.setSiteNoOneOld(lw1.getText().toString());
- changeTyre.setSiteNoOneNow(lw2.getText().toString());
- changeTyre.setSiteNoTwoOld(lw2.getText().toString());
- changeTyre.setSiteNoTwoNow(lw1.getText().toString());
- list_change.add(changeTyre);
- String json = gson.toJson(list_change);
- Log.e("json", json + wth1.getText().toString() + wth2.getText().toString() + userID);
- if (epc1.getText().toString().equals(epc2.getText().toString())){
- new CommonDialog(SwitchActivity.this).setMessage("轮胎EPC一样").show();
- }
- else if (!car.getText().toString().equals(car1.getText().toString()))
- {
- new CommonDialog(SwitchActivity.this).setMessage("车牌号不一样").show();
- }
- else if (lc.getText().toString().isEmpty()){
- new CommonDialog(SwitchActivity.this).setMessage("换位里程不能为空").show();
- }
- else {
- change(json, wth1.getText().toString(), wth2.getText().toString(), userID,lc.getText().toString());
- }
- list_change.clear();
- break;
- case R.id.back:
- Intent intent = new Intent(this, HomePageActivity.class);
- startActivity(intent);
- break;
- }
- }
-
class MyHandler extends Handler {
WeakReference weakReference;
diff --git a/app/src/main/java/com/example/tyre/TestActivity.java b/app/src/main/java/com/example/tyre/TestActivity.java
index 8fd09a2..49d46ad 100644
--- a/app/src/main/java/com/example/tyre/TestActivity.java
+++ b/app/src/main/java/com/example/tyre/TestActivity.java
@@ -49,27 +49,19 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityTestBinding;
public class TestActivity extends AppCompatActivity {
- @BindView(R.id.button)
+ private ActivityTestBinding binding;
+
Button back;
- @BindView(R.id.dept)
EditText deptName;
- @BindView(R.id.searchButton)
Button search;
- @BindView(R.id.in_santext)
TextView in_santext;
- @BindView(R.id.pinpai)
TextView carNo;
- @BindView(R.id.carLine)
TextView line;
- @BindView(R.id.carType)
TextView type;
- @BindView(R.id.confirm_button)
Button confirm;
private boolean isStart = true;
private ProgressDialog progressDialog;
@@ -89,8 +81,10 @@ public class TestActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_test);
- ButterKnife.bind(this);
+ binding = ActivityTestBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
listEPC = new ArrayList();
Thread thread = new InventoryThread();
@@ -99,6 +93,40 @@ public class TestActivity extends AppCompatActivity {
Util.initSoundPool(this);
}
+
+ private void bindViews() {
+ back = binding.button;
+ deptName = binding.dept;
+ search = binding.searchButton;
+ in_santext = binding.inSantext;
+ carNo = binding.pinpai;
+ line = binding.carLine;
+ type = binding.carType;
+ confirm = binding.confirmButton;
+ }
+
+ private void setupClickListeners() {
+ binding.button.setOnClickListener(v -> {
+ Intent intent = new Intent(this, HomePageActivity.class);
+ startActivity(intent);
+ });
+
+ binding.searchButton.setOnClickListener(v -> {
+ String carTeam = deptName.getText().toString();
+ if (carTeam == null || carTeam.isEmpty())
+ {
+ new CommonDialog(TestActivity.this).setMessage("请输入车队名称!").show();
+ return;
+ }
+ showLoadingDialog();
+ car_team(carTeam);
+ });
+
+ binding.confirmButton.setOnClickListener(v -> {
+ showLoadingDialog();
+ carBangding();
+ });
+ }
@Override
protected void onResume() {
super.onResume();
@@ -134,33 +162,6 @@ public class TestActivity extends AppCompatActivity {
runFlag = false;
super.onDestroy();
}
- @OnClick({R.id.button,R.id.searchButton,R.id.confirm_button})
- public void onViewClicked(View view) {
- Intent intent = new Intent(this,MainActivity.class);
- String carTeam = deptName.getText().toString();
- switch (view.getId()) {
- case R.id.button:
- intent = new Intent(this, HomePageActivity.class);
- startActivity(intent);
- break;
- case R.id.searchButton:
- if (carTeam == null || carTeam.isEmpty())
- {
- new CommonDialog(TestActivity.this).setMessage("请输入车队名称!").show();
- return;
- }
- showLoadingDialog();
- car_team(carTeam);
- break;
- case R.id.confirm_button:
- //执行绑定请求后台
- showLoadingDialog();
- carBangding();
- break;
- }
-
- }
- //绑定车牌与RFID信息
private void carBangding() {
OkGo.post(MyUrl.url + "/tyre/car/PdaBingCarRfid")
.tag(this).params("rfid", in_santext.getText().toString())
diff --git a/app/src/main/java/com/example/tyre/TyreLayoutActivity.java b/app/src/main/java/com/example/tyre/TyreLayoutActivity.java
index 6c1877a..3eaa5e6 100644
--- a/app/src/main/java/com/example/tyre/TyreLayoutActivity.java
+++ b/app/src/main/java/com/example/tyre/TyreLayoutActivity.java
@@ -43,22 +43,15 @@ import com.lzy.okgo.model.Response;
import java.util.ArrayList;
import java.util.List;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityTyreLayoutBinding;
public class TyreLayoutActivity extends AppCompatActivity {
- // 1. 使用 @BindView 绑定控件
- // 注意:变量名可以自定义,但 ID 必须对应 XML 中的 id
- @BindView(R.id.et_plate_number)
+ private ActivityTyreLayoutBinding binding;
+
TextInputEditText etPlateNumber;
-
- @BindView(R.id.btn_retrieve)
- Button btnRetrieve; // 因为使用的是 MaterialButton,这里类型要对应
-
- @BindView(R.id.til_plate_number)
+ Button btnRetrieve;
TextInputLayout tilPlateNumber;
private ProgressDialog progressDialog;
@@ -94,14 +87,16 @@ public class TyreLayoutActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_tyre_layout);
- ButterKnife.bind(this);
+ binding = ActivityTyreLayoutBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
listEPC = new ArrayList();
Thread thread = new InventoryThread();
thread.start();
Util.initSoundPool(this);
- tilPlateNumber = findViewById(R.id.til_plate_number);
+ tilPlateNumber = binding.tilPlateNumber;
etPlateNumber.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@@ -111,18 +106,12 @@ public class TyreLayoutActivity extends AppCompatActivity {
@Override
public void afterTextChanged(Editable s) {
- // 核心代码:只要用户输入了内容,就清除错误提示
tilPlateNumber.setError(null);
-
- // 可选:如果你使用了 errorEnabled="true",可能还需要调用下面这行来彻底清除空间占用
- // tilPlateNumber.setErrorEnabled(false);
}
});
tilPlateNumber.setEndIconOnClickListener(v -> {
- // 在这里处理搜索逻辑
String plateNumber = etPlateNumber.getText().toString().trim();
if (!plateNumber.isEmpty()) {
- // 执行搜索
showLoadingDialog();
performSearch(plateNumber);
} else {
@@ -130,6 +119,24 @@ public class TyreLayoutActivity extends AppCompatActivity {
}
});
}
+
+ private void bindViews() {
+ etPlateNumber = binding.etPlateNumber;
+ btnRetrieve = binding.btnRetrieve;
+ tilPlateNumber = binding.tilPlateNumber;
+ }
+
+ private void setupClickListeners() {
+ binding.btnRetrieve.setOnClickListener(v -> {
+ String PlateNumber = etPlateNumber.getText().toString();
+ if (PlateNumber == null || PlateNumber.isEmpty())
+ {
+ new CommonDialog(TyreLayoutActivity.this).setMessage("请输入车牌号!").show();
+ return;
+ }
+ carBangding(PlateNumber);
+ });
+ }
@Override
public void onResume() {
super.onResume();
@@ -187,21 +194,6 @@ public class TyreLayoutActivity extends AppCompatActivity {
});
dialog.show();
}
- @OnClick({R.id.btn_retrieve})
- public void onViewClicked(View view) {
- String PlateNumber = etPlateNumber.getText().toString();
- switch (view.getId()) {
- case R.id.btn_retrieve:
- if (PlateNumber == null || PlateNumber.isEmpty())
- {
- new CommonDialog(TyreLayoutActivity.this).setMessage("请输入车牌号!").show();
- return;
- }
- carBangding(PlateNumber);
- break;
- }
- }
- //绑定车牌与RFID信息
private void carBangding(String PlateNumber) {
OkGo.post(MyUrl.url + "/tyre/tyre/getCarBingTire")
.tag(this).params("carNo", PlateNumber)
diff --git a/app/src/main/java/com/example/tyre/TyreLoadUnLoadActivity.java b/app/src/main/java/com/example/tyre/TyreLoadUnLoadActivity.java
index 95cb75c..cc31e4e 100644
--- a/app/src/main/java/com/example/tyre/TyreLoadUnLoadActivity.java
+++ b/app/src/main/java/com/example/tyre/TyreLoadUnLoadActivity.java
@@ -3,45 +3,46 @@ package com.example.tyre;
import android.content.Intent;
import android.os.Bundle;
-import android.view.View;
-import android.widget.Button;
import android.widget.RadioButton;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
+import com.example.tyre.databinding.ActivityTyreLoadUnLoadBinding;
public class TyreLoadUnLoadActivity extends AppCompatActivity {
- @BindView(R.id.up)
+ private ActivityTyreLoadUnLoadBinding binding;
+
RadioButton up;
- @BindView(R.id.down)
RadioButton down;
- @BindView(R.id.back)
- Button back;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_tyre_load_un_load);
- ButterKnife.bind(this);
+ binding = ActivityTyreLoadUnLoadBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
}
- @OnClick({R.id.up, R.id.down,R.id.back})
- public void onViewClicked(View view) {
- Intent intent = null;
- switch (view.getId()) {
- case R.id.up:
- intent = new Intent(this, UpActivity.class);
- break;
- case R.id.down:
- intent = new Intent(this, DownActivity.class);
- break;
- case R.id.back:
- intent = new Intent(this, HomePageActivity.class);
- break;
- }
- startActivity(intent);
+ private void bindViews() {
+ up = binding.up;
+ down = binding.down;
+ }
+
+ private void setupClickListeners() {
+ binding.up.setOnClickListener(v -> {
+ Intent intent = new Intent(this, UpActivity.class);
+ startActivity(intent);
+ });
+
+ binding.down.setOnClickListener(v -> {
+ Intent intent = new Intent(this, DownActivity.class);
+ startActivity(intent);
+ });
+
+ binding.back.setOnClickListener(v -> {
+ Intent intent = new Intent(this, HomePageActivity.class);
+ startActivity(intent);
+ });
}
}
diff --git a/app/src/main/java/com/example/tyre/TyreSearchActivity.java b/app/src/main/java/com/example/tyre/TyreSearchActivity.java
index bba62be..5c30557 100644
--- a/app/src/main/java/com/example/tyre/TyreSearchActivity.java
+++ b/app/src/main/java/com/example/tyre/TyreSearchActivity.java
@@ -35,89 +35,81 @@ import com.google.gson.JsonSyntaxException;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;
-//import com.seuic.scanner.ScannerKey;
-//import com.seuic.uhf.EPC;
-//import com.seuic.uhf.UHFService;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityTyresearchBinding;
-/**
- * Created by 杨万里 on 2019/12/3.
- */
+public class TyreSearchActivity extends AppCompatActivity {
+ private ActivityTyresearchBinding binding;
-public class TyreSearchActivity extends AppCompatActivity implements View.OnClickListener{
- @BindView(R.id.in_santext)
TextView inSantext;
- @BindView(R.id.basemessage)
Button basemessage;
- @BindView(R.id.button)
Button button;
- @BindView(R.id.pinpai)
TextView pinpai;
- @BindView(R.id.xinghao)
TextView xinghao;
- @BindView(R.id.cengji)
TextView cengji;
- @BindView(R.id.huawen)
TextView huawen;
- private int power = 0;//rate of work
+ private int power = 0;
private int area = 0;
private SharedPreferences shared;
private TextView textVersion;
- private Button buttonStart;
- private Button buttonBack;
+
private boolean runFlag = true;
private boolean startFlag = false;
- private UhfReader manager; // UHF manager,UHF Operating handle
+ private UhfReader manager;
private ArrayList listEPC;
private ArrayList listepc = new ArrayList();
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_tyresearch);
+ binding = ActivityTyresearchBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
initView();
- //start inventory thread
Thread thread = new InventoryThread();
thread.start();
- // init sound pool
com.example.tyre.util.Util.initSoundPool(this);
Log.e("onCreate", "onCreate:+ " );
}
- @Override
- public void onClick(View v) {
- byte[] accessPassword = Tools.HexString2Bytes("00000000");
- List tagList;
-// addr = Integer.valueOf(editAddr.getText().toString());
-// length = Integer.valueOf(editLength.getText().toString());
- switch (v.getId()) {
- case R.id.scan_button:
- if (!startFlag) {
- startFlag = true;
- buttonStart.setText("停 止");
- } else {
- startFlag = false;
- buttonStart.setText("扫 描");
- }
- break;
- case R.id.button:
- Intent intent = new Intent(this, HomePageActivity.class);
- startActivity(intent);
- break;
- }
+ private void bindViews() {
+ inSantext = binding.inSantext;
+ basemessage = binding.basemessage;
+ button = binding.button;
+ pinpai = binding.pinpai;
+ xinghao = binding.xinghao;
+ cengji = binding.cengji;
+ huawen = binding.huawen;
}
+ private void setupClickListeners() {
+ binding.scanButton.setOnClickListener(v -> {
+ if (!startFlag) {
+ startFlag = true;
+ binding.scanButton.setText("停 止");
+ } else {
+ startFlag = false;
+ binding.scanButton.setText("扫 描");
+ }
+ });
+ binding.button.setOnClickListener(v -> {
+ // Intent intent = new Intent(this, HomePageActivity.class);
+ // startActivity(intent);
+ finish();
+ });
+ }
+
+
+
@Override
public void onResume() {
super.onResume();
@@ -133,7 +125,7 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
@Override
public void onPause() {
startFlag = false;
- buttonStart.setText("扫 描");
+ binding.scanButton.setText("扫描");
// manager.close();
unregisterReceiver();
Log.e("onPause", "onPause:+ " );
@@ -144,39 +136,26 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
protected void onDestroy() {
startFlag = false;
runFlag = false;
-// if (manager != null) {
-// manager.close();
-// manager = null; // 重置manager引用
-// }
Log.e("onDestroy", "onDestroy:+ " );
super.onDestroy();
}
private void initView() {
- textVersion = (TextView) findViewById(R.id.in_santext);
- buttonStart = (Button) findViewById(R.id.scan_button);
- buttonBack =(Button) findViewById(R.id.button);
- pinpai = (TextView) findViewById(R.id.pinpai);
- xinghao = (TextView) findViewById(R.id.xinghao);
- cengji = (TextView) findViewById(R.id.cengji);
- huawen = (TextView) findViewById(R.id.huawen);
- buttonStart.setOnClickListener(this);
- buttonBack.setOnClickListener(this);
+ textVersion = binding.inSantext;
+ pinpai = binding.pinpai;
+ xinghao = binding.xinghao;
+ cengji = binding.cengji;
+ huawen = binding.huawen;
+
listEPC = new ArrayList();
}
private long exitTime = 0;
- /**
- * show Toast
- */
private Toast mToast;
private Toast toast;
- /**
- * Inventory EPC Thread
- */
class InventoryThread extends Thread {
private List tagList;
byte[] accessPassword = Tools.HexString2Bytes("00000000");
@@ -185,18 +164,15 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
super.run();
while (runFlag) {
if (startFlag) {
- tagList = manager.inventoryRealTime(); //实时盘存
+ tagList = manager.inventoryRealTime();
if (tagList != null && !tagList.isEmpty()) {
- //播放提示音
Util.play(1, 0);
for (TagModel tag : tagList) {
if (tag == null) {
String epcStr = "";
-// String epcStr = new String(epc);
addToList(listEPC, epcStr, (byte) -1);
} else {
String epcStr = Tools.Bytes2HexString(tag.getmEpcBytes(), tag.getmEpcBytes().length);
-// String epcStr = new String(epc);
byte rssi = tag.getmRssi();
addToList(listEPC, epcStr, rssi);
}
@@ -207,19 +183,16 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
try {
Thread.sleep(20);
} catch (InterruptedException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
- // EPC add to LISTVIEW
private void addToList(final List list, final String epc, final byte rssi) {
runOnUiThread(new Runnable() {
@Override
public void run() {
- // The epc for the first time
if (list.isEmpty()) {
EPC epcTag = new EPC();
epcTag.setEpc(epc);
@@ -231,14 +204,12 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
}else {
for (int i = 0; i < list.size(); i++) {
EPC mEPC = list.get(i);
- // list contain this epc
if (epc.equals(mEPC.getEpc())) {
mEPC.setCount(mEPC.getCount() + 1);
mEPC.setRssi(rssi);
list.set(i, mEPC);
break;
} else if (i == (list.size() - 1)) {
- // list doesn't contain this epc
EPC newEPC = new EPC();
newEPC.setEpc(epc);
newEPC.setCount(1);
@@ -249,7 +220,6 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
}
}
- // play sound
lastTime = SystemClock.elapsedRealtime();
long time = lastTime - nextTime;
if (time >= 60) {
@@ -262,16 +232,14 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
Log.e("EPC", "listepc:+ " + listepc);
if (listepc != null && !listepc.isEmpty()){
startFlag = false;
- buttonStart.setText("扫 描");
+ binding.scanButton.setText("扫 描");
textVersion.setText(listepc.get(0).toString());
- //请求后台
find(listepc.get(0).toString());
}
clearData();
}
long lastTime;
long nextTime;
- // Make the button clickable or unclickable
private void setButtonClickable(Button button, boolean flag) {
button.setClickable(flag);
if (flag) {
@@ -320,39 +288,31 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
boolean keyDown = intent.getBooleanExtra("keydown", false);
if (keyDown) {
if (toast == null) {
- // toast = Toast.makeText(TyreSearchActivity.this, "KeyReceiver:keyCode = down" + keyCode, Toast.LENGTH_SHORT);
} else {
- // toast.setText("KeyReceiver:keyCode = down" + keyCode);
}
- //toast.show();
switch (keyCode) {
case KeyEvent.KEYCODE_F1:
case KeyEvent.KEYCODE_F2:
case KeyEvent.KEYCODE_F3:
case KeyEvent.KEYCODE_F4:
case KeyEvent.KEYCODE_F5:
- //触发扫描动作
- onClick(buttonStart);
+ binding.scanButton.callOnClick();
break;
}
}
}
}
-// 基本信息查询
private void find(String epc) {
- //showLoadingDialog();
OkGo.post(MyUrl.url + "/tyre/tyre/pdaQueryTyreInfo").tag(this)
.params("tyreEpc", epc)
.execute(new StringCallback() {
@Override
public void onSuccess(Response response) {
- // hideLoadingDialog();
String body = response.body();
try {
Gson gson = new Gson();
BaseTyre baseTyre = gson.fromJson(body, BaseTyre.class);
if (baseTyre != null) {
- // 空值处理:若字段为 null 则显示空字符串
String brand = safeGetString(baseTyre.getTyreBrand());
String model = safeGetString(baseTyre.getTyreModel());
String level = safeGetString(baseTyre.getTyreLevel());
@@ -369,7 +329,6 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
huawen.setText("");
}
} catch (JsonSyntaxException e) {
- // 处理 JSON 解析错误
pinpai.setText("");
xinghao.setText("");
cengji.setText("");
@@ -382,4 +341,4 @@ public class TyreSearchActivity extends AppCompatActivity implements View.OnClic
private String safeGetString(String value) {
return value == null || "null".equals(value) ? "" : value;
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/com/example/tyre/UpActivity.java b/app/src/main/java/com/example/tyre/UpActivity.java
index 8007222..f15bfbf 100644
--- a/app/src/main/java/com/example/tyre/UpActivity.java
+++ b/app/src/main/java/com/example/tyre/UpActivity.java
@@ -48,35 +48,22 @@ import java.util.ArrayList;
import java.util.List;
import androidx.appcompat.app.AppCompatActivity;
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import butterknife.OnClick;
import cn.pda.serialport.Tools;
+import com.example.tyre.databinding.ActivityUpBinding;
public class UpActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
+ private ActivityUpBinding binding;
- @BindView(R.id.epc)
TextView EPC;
- @BindView(R.id.azlw)
TextView azlw;
- @BindView(R.id.condition)
Spinner condition;
-// @BindView(R.id.carAdapter)
-// Spinner carAdapter;
- @BindView(R.id.start)
EditText start;
- @BindView(R.id.searchButton)
Button searchButton;
- @BindView(R.id.ok)
Button ok;
- @BindView(R.id.back)
Button back;
- @BindView(R.id.th)
TextView th;
- @BindView(R.id.zbh)
TextView zbh;
- @BindView(R.id.car)
EditText car;
private boolean isStart = true;
private ProgressDialog progressDialog;
@@ -95,20 +82,88 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_up);
- ButterKnife.bind(this);
+ binding = ActivityUpBinding.inflate(getLayoutInflater());
+ setContentView(binding.getRoot());
+ bindViews();
+ setupClickListeners();
manager = MyApplication.getManager();
listEPC = new ArrayList();
condition.setOnItemSelectedListener(this);
showLoadingDialog();
check_spinner();
- //car_spinner();
Thread thread = new InventoryThread();
thread.start();
Util.initSoundPool(this);
}
+ private void bindViews() {
+ EPC = binding.epc;
+ azlw = binding.azlw;
+ condition = binding.condition;
+ start = binding.start;
+ searchButton = binding.searchButton;
+ ok = binding.ok;
+ back = binding.back;
+ th = binding.th;
+ zbh = binding.zbh;
+ car = binding.car;
+ }
+
+ private void setupClickListeners() {
+ binding.ok.setOnClickListener(v -> {
+ String rfid=EPC.getText().toString();
+ String carNo = car.getText().toString();
+ String millage = start.getText().toString();
+ String wheel = azlw.getText().toString();
+ String selfNo = zbh.getText().toString();
+
+ if (rfid == null || rfid.isEmpty())
+ {
+ new CommonDialog(UpActivity.this).setMessage("请扫描轮胎!").show();
+ return;
+ }
+ if (carNo == null || carNo.isEmpty())
+ {
+ new CommonDialog(UpActivity.this).setMessage("请选择安装车辆!").show();
+ return;
+ }
+ if (millage == null || millage.isEmpty())
+ {
+ new CommonDialog(UpActivity.this).setMessage("请输入起始里程!").show();
+ return;
+ }
+ if (wheel == null || wheel.isEmpty())
+ {
+ new CommonDialog(UpActivity.this).setMessage("请选择安装轮位!").show();
+ return;
+ }
+ if (selfNo == null || selfNo.isEmpty())
+ {
+ new CommonDialog(UpActivity.this).setMessage("请输入自编号!").show();
+ return;
+ }
+ up_insert(rfid,carNo,millage,wheel,selfNo);
+ showLoadingDialog();
+ });
+
+ binding.back.setOnClickListener(v -> {
+ Intent intent = new Intent(this, HomePageActivity.class);
+ startActivity(intent);
+ });
+
+ binding.searchButton.setOnClickListener(v -> {
+ String carNo = car.getText().toString();
+ if (carNo == null || carNo.isEmpty())
+ {
+ new CommonDialog(UpActivity.this).setMessage("请输入车牌号!").show();
+ return;
+ }
+ showLoadingDialog();
+ car_spinner(carNo);
+ });
+ }
+
@@ -300,75 +355,15 @@ public class UpActivity extends AppCompatActivity implements AdapterView.OnItemS
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
- switch (parent.getId()){
- case R.id.condition:
- azlw.setText(parent.getItemAtPosition(position).toString());
- break;
+ if (parent.getId() == R.id.condition) {
+ azlw.setText(parent.getItemAtPosition(position).toString());
}
}
// 添加缺失的方法
@Override
public void onNothingSelected(AdapterView> parent) {
- // 当没有选项被选中时的处理逻辑
- // 可以留空,但必须实现这个方法
}
- @OnClick({R.id.ok, R.id.back,R.id.searchButton})
- public void onViewClicked(View view) {
-
- String rfid=EPC.getText().toString();
- String carNo = car.getText().toString();
- String millage = start.getText().toString();
- String wheel = azlw.getText().toString();
- String selfNo = zbh.getText().toString();
- switch (view.getId()) {
- case R.id.ok:
-
-// String azlw =
- if (rfid == null || rfid.isEmpty())
- {
- new CommonDialog(UpActivity.this).setMessage("请扫描轮胎!").show();
- return;
- }
- if (carNo == null || carNo.isEmpty())
- {
- new CommonDialog(UpActivity.this).setMessage("请选择安装车辆!").show();
- return;
- }
- if (millage == null || millage.isEmpty())
- {
- new CommonDialog(UpActivity.this).setMessage("请输入起始里程!").show();
- return;
- }
- if (wheel == null || wheel.isEmpty())
- {
- new CommonDialog(UpActivity.this).setMessage("请选择安装轮位!").show();
- return;
- }
- if (selfNo == null || selfNo.isEmpty())
- {
- new CommonDialog(UpActivity.this).setMessage("请输入自编号!").show();
- return;
- }
- up_insert(rfid,carNo,millage,wheel,selfNo);
- showLoadingDialog();
- break;
- case R.id.back:
- Intent intent = new Intent(this, HomePageActivity.class);
- startActivity(intent);
- break;
- case R.id.searchButton:
- if (carNo == null || carNo.isEmpty())
- {
- new CommonDialog(UpActivity.this).setMessage("请输入车牌号!").show();
- return;
- }
- showLoadingDialog();
- car_spinner(carNo);
- break;
- }
- }
- // 安装请求后台
private void up_insert(String rfid,String carNo,String millage,String wheel,String selfNo) {
OkGo.post(MyUrl.url + "/tyre/install/PdaInstallTyre").tag(this)
.params("tyreRfid", rfid)
diff --git a/app/src/main/java/com/example/tyre/maintenance/BaseActivity.java b/app/src/main/java/com/example/tyre/maintenance/BaseActivity.java
new file mode 100644
index 0000000..e618394
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/BaseActivity.java
@@ -0,0 +1,16 @@
+package com.example.tyre.maintenance;
+
+import android.view.View;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import java.text.Format;
+import java.text.SimpleDateFormat;
+
+public class BaseActivity extends AppCompatActivity {
+ public SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
+
+ public void onBackClick(View view) {
+ finish();
+ }
+}
diff --git a/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java b/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java
new file mode 100644
index 0000000..eb9f39d
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/CreateWorkOrderActivity.java
@@ -0,0 +1,33 @@
+package com.example.tyre.maintenance;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.databinding.DataBindingUtil;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+
+import com.example.tyre.R;
+import com.example.tyre.maintenance.dialog.TipResultDialog;
+
+public class CreateWorkOrderActivity extends BaseActivity {
+ TipResultDialog dialog;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ DataBindingUtil.setContentView(this,R.layout.activity_create_work_order);
+ dialog = new TipResultDialog(this, this);
+
+ }
+
+ public void openSelectCarDialog(View view) {
+
+ }
+
+
+ public void generateWorkOrder(View view) {
+ dialog.show(true, "工单生成成功", true);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tyre/maintenance/NewHomePageActivity.java b/app/src/main/java/com/example/tyre/maintenance/NewHomePageActivity.java
new file mode 100644
index 0000000..c0d4c00
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/NewHomePageActivity.java
@@ -0,0 +1,64 @@
+package com.example.tyre.maintenance;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.databinding.DataBindingUtil;
+
+import com.example.tyre.R;
+import com.example.tyre.databinding.ActivityNewHomePageBinding;
+
+public class NewHomePageActivity extends BaseActivity {
+ private ActivityNewHomePageBinding binding;
+ private Intent intent;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = DataBindingUtil.setContentView(this, R.layout.activity_new_home_page);
+ intent = new Intent(this, WorkOrderActivity.class);
+ }
+
+ public void goActivity1(View view) {
+ intent.putExtra("title", "二级保养");
+ startActivity(intent);
+ }
+
+ public void goActivity2(View view) {
+ intent.putExtra("title", "小修");
+ startActivity(intent);
+ }
+
+ public void goActivity3(View view) {
+ intent.putExtra("title", "抢碎修");
+ startActivity(intent);
+ }
+
+ public void goActivity4(View view) {
+ intent.putExtra("title", "月检");
+ startActivity(intent);
+ }
+
+ public void goActivity5(View view) {
+ intent.putExtra("title", "拆报废车");
+ startActivity(intent);
+ }
+
+ public void goActivity6(View view) {
+ intent.putExtra("title", "轮胎修补");
+ startActivity(intent);
+ }
+
+ public void goActivity7(View view) {
+ intent.putExtra("title", "轮胎报废");
+ startActivity(intent);
+ }
+
+ public void goAllWorkOrder(View view) {
+ intent.putExtra("title", "总工单列表");
+ startActivity(intent);
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java b/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java
new file mode 100644
index 0000000..4ced489
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/WorkOrderActivity.java
@@ -0,0 +1,74 @@
+package com.example.tyre.maintenance;
+
+import android.annotation.SuppressLint;
+import android.app.DatePickerDialog;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.ListPopupWindow;
+
+import androidx.databinding.DataBindingUtil;
+import androidx.databinding.ObservableBoolean;
+
+import com.example.tyre.R;
+import com.example.tyre.databinding.ActivityWorkOrderBinding;
+
+import java.util.Calendar;
+
+public class WorkOrderActivity extends BaseActivity {
+ private ActivityWorkOrderBinding binding;
+ private ObservableBoolean status;
+ private DatePickerDialog datePickerDialog;
+ private ListPopupWindow listPopupWindow;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = DataBindingUtil.setContentView(this, R.layout.activity_work_order);
+ status = new ObservableBoolean(false);
+ binding.setStatus(status);
+
+ // 获取当前日期
+ Calendar calendar = Calendar.getInstance();
+ int year = calendar.get(Calendar.YEAR);
+ int month = calendar.get(Calendar.MONTH);
+ int day = calendar.get(Calendar.DAY_OF_MONTH);
+ binding.workOrderDate.setText(dateFormat.format(calendar.getTime()));
+ datePickerDialog = new DatePickerDialog(this,
+ (view1, year1, monthOfYear, dayOfMonth) -> {
+ @SuppressLint("DefaultLocale")
+ String selectedDate =
+ year1 + "-" + String.format("%02d", (monthOfYear + 1)) + "-" + String.format("%02d", dayOfMonth);
+ binding.workOrderDate.setText(selectedDate);
+ }, year, month, day);
+ // 初始化选择框
+ listPopupWindow = new ListPopupWindow(this);
+ listPopupWindow.setAnchorView(binding.workOrderSite);
+ String[] stringArray = getResources().getStringArray(R.array.zxzd);
+ listPopupWindow.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, stringArray));
+ listPopupWindow.setOnItemClickListener((parent, view, position, id) -> {
+ binding.workOrderSite.setText(stringArray[position]);
+ listPopupWindow.dismiss();`
+ });
+
+ }
+
+ // 选日期
+ public void selectDate(View view) {
+ datePickerDialog.show();
+ }
+ // 选站点
+ public void selectOrderSite(View view) {
+ listPopupWindow.show();
+ }
+
+ public void goCreateWorkOrder(View view) {
+ startActivity(new Intent(this, CreateWorkOrderActivity.class));
+ }
+
+ public void switchStatus(View view) {
+ status.set(!status.get());
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/tyre/maintenance/dialog/TipResultDialog.java b/app/src/main/java/com/example/tyre/maintenance/dialog/TipResultDialog.java
new file mode 100644
index 0000000..790de84
--- /dev/null
+++ b/app/src/main/java/com/example/tyre/maintenance/dialog/TipResultDialog.java
@@ -0,0 +1,105 @@
+package com.example.tyre.maintenance.dialog;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.os.CountDownTimer;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+
+import androidx.databinding.DataBindingUtil;
+
+import com.example.tyre.R;
+import com.example.tyre.databinding.DialogTipResultBinding;
+
+
+/**
+ * 写入结果弹窗(2秒自动关闭+手动关闭)
+ */
+public class TipResultDialog extends Dialog {
+ private final DialogTipResultBinding binding;
+ private CountDownTimer countDownTimer;
+ private final Activity activity;
+
+ public TipResultDialog(Context context,Activity activity) {
+ super(context, R.style.MyMiddleDialogStyle);
+ this.activity = activity;
+ binding =DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.dialog_tip_result, null, false);
+ binding.dialogConfirm.setOnClickListener(view -> dismiss());
+ setContentView(binding.getRoot());
+ }
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ initDialogStyle();
+ startCountDown();
+ }
+
+ /**
+ * 设置弹窗样式(匹配原型:大圆角、居中、占屏比例)
+ */
+ private void initDialogStyle() {
+ Window window = getWindow();
+ if (window != null) {
+ window.setGravity(Gravity.CENTER);
+ WindowManager.LayoutParams params = window.getAttributes();
+ params.width = (int) (getContext().getResources().getDisplayMetrics().widthPixels * 0.9);
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT;
+ window.setAttributes(params);
+ window.setBackgroundDrawableResource(android.R.color.transparent);
+
+ }
+ // 点击外部不关闭
+ setCanceledOnTouchOutside(false);
+ }
+
+
+
+
+ /**
+ * 启动2秒倒计时(自动关闭)
+ */
+ private void startCountDown() {
+ countDownTimer = new CountDownTimer(2000, 1000) {
+ @Override
+ public void onTick(long millisUntilFinished) {
+
+ }
+
+ @Override
+ public void onFinish() {
+
+ dismiss();
+ activity.finish();
+ }
+ };
+ }
+
+ public void show(boolean state, String info, boolean closeType) {
+ super.show();
+ binding.dialogState.setVisibility(state ? View.VISIBLE : View.GONE);
+ binding.dialogTip.setText(info);
+ if (closeType) {
+ countDownTimer.start();
+ }
+
+
+ }
+
+
+
+ @Override
+ public void dismiss() {
+ super.dismiss();
+ if (countDownTimer != null) {
+ countDownTimer.cancel();
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_button_blue.xml b/app/src/main/res/drawable/bg_button_blue.xml
new file mode 100644
index 0000000..6a24135
--- /dev/null
+++ b/app/src/main/res/drawable/bg_button_blue.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_select_blue.xml b/app/src/main/res/drawable/bg_select_blue.xml
new file mode 100644
index 0000000..db46692
--- /dev/null
+++ b/app/src/main/res/drawable/bg_select_blue.xml
@@ -0,0 +1,27 @@
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_select_grey.xml b/app/src/main/res/drawable/bg_select_grey.xml
new file mode 100644
index 0000000..ed19491
--- /dev/null
+++ b/app/src/main/res/drawable/bg_select_grey.xml
@@ -0,0 +1,25 @@
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_state_1.xml b/app/src/main/res/drawable/bg_state_1.xml
new file mode 100644
index 0000000..a2ad6dc
--- /dev/null
+++ b/app/src/main/res/drawable/bg_state_1.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/card_bg.xml b/app/src/main/res/drawable/card_bg.xml
new file mode 100644
index 0000000..dd5ba35
--- /dev/null
+++ b/app/src/main/res/drawable/card_bg.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/dialog.xml b/app/src/main/res/drawable/dialog.xml
index bde8d64..ee67733 100644
--- a/app/src/main/res/drawable/dialog.xml
+++ b/app/src/main/res/drawable/dialog.xml
@@ -1,7 +1,5 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_png_sl.png b/app/src/main/res/drawable/ic_png_sl.png
new file mode 100644
index 0000000..daebb9a
Binary files /dev/null and b/app/src/main/res/drawable/ic_png_sl.png differ
diff --git a/app/src/main/res/drawable/ic_sanjiao.xml b/app/src/main/res/drawable/ic_sanjiao.xml
new file mode 100644
index 0000000..d09c613
--- /dev/null
+++ b/app/src/main/res/drawable/ic_sanjiao.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_select.xml b/app/src/main/res/drawable/ic_select.xml
new file mode 100644
index 0000000..9469f73
--- /dev/null
+++ b/app/src/main/res/drawable/ic_select.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/icon_bg.xml b/app/src/main/res/drawable/icon_bg.xml
new file mode 100644
index 0000000..0dff8d8
--- /dev/null
+++ b/app/src/main/res/drawable/icon_bg.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/item_bg_1.xml b/app/src/main/res/drawable/item_bg_1.xml
new file mode 100644
index 0000000..70c2ac2
--- /dev/null
+++ b/app/src/main/res/drawable/item_bg_1.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_check.xml b/app/src/main/res/layout/activity_check.xml
index 4e3e3e5..c3e5c9e 100644
--- a/app/src/main/res/layout/activity_check.xml
+++ b/app/src/main/res/layout/activity_check.xml
@@ -220,7 +220,7 @@
android:layout_margin="8dp">
diff --git a/app/src/main/res/layout/activity_create_work_order.xml b/app/src/main/res/layout/activity_create_work_order.xml
new file mode 100644
index 0000000..d109c90
--- /dev/null
+++ b/app/src/main/res/layout/activity_create_work_order.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_homepage.xml b/app/src/main/res/layout/activity_home_page.xml
similarity index 97%
rename from app/src/main/res/layout/activity_homepage.xml
rename to app/src/main/res/layout/activity_home_page.xml
index b5f2975..a84e0b6 100644
--- a/app/src/main/res/layout/activity_homepage.xml
+++ b/app/src/main/res/layout/activity_home_page.xml
@@ -109,12 +109,11 @@
/>
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index fd17f85..ce3a045 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,128 +1,71 @@
-
+
+
+
+
+
+
+ android:layout_height="wrap_content"
+ android:textSize="23sp" />
-
+ android:layout_height="wrap_content"
+ android:textSize="23sp"
+ android:inputType="textPassword"
+ android:layout_marginTop="12dp"/>
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_new_home_page.xml b/app/src/main/res/layout/activity_new_home_page.xml
new file mode 100644
index 0000000..8cd0d3b
--- /dev/null
+++ b/app/src/main/res/layout/activity_new_home_page.xml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_tyresearch.xml b/app/src/main/res/layout/activity_tyresearch.xml
index 12f045a..7fce7cb 100644
--- a/app/src/main/res/layout/activity_tyresearch.xml
+++ b/app/src/main/res/layout/activity_tyresearch.xml
@@ -317,7 +317,8 @@
android:layout_weight="1"
android:layout_margin="18dp"
style="@style/buttonStyle"
- android:text="扫 描" />
+ android:letterSpacing="1"
+ android:text="扫描" />
+ android:letterSpacing="1"
+ android:text="返回" />
diff --git a/app/src/main/res/layout/activity_work_order.xml b/app/src/main/res/layout/activity_work_order.xml
new file mode 100644
index 0000000..1ba767e
--- /dev/null
+++ b/app/src/main/res/layout/activity_work_order.xml
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_tip_result.xml b/app/src/main/res/layout/dialog_tip_result.xml
new file mode 100644
index 0000000..8124bf4
--- /dev/null
+++ b/app/src/main/res/layout/dialog_tip_result.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_order_info.xml b/app/src/main/res/layout/item_order_info.xml
new file mode 100644
index 0000000..341a82e
--- /dev/null
+++ b/app/src/main/res/layout/item_order_info.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_activity_title.xml b/app/src/main/res/layout/layout_activity_title.xml
new file mode 100644
index 0000000..1685c70
--- /dev/null
+++ b/app/src/main/res/layout/layout_activity_title.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_home_icon.xml b/app/src/main/res/layout/layout_home_icon.xml
new file mode 100644
index 0000000..755130f
--- /dev/null
+++ b/app/src/main/res/layout/layout_home_icon.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xhdpi/icon_1.png b/app/src/main/res/mipmap-xhdpi/icon_1.png
new file mode 100644
index 0000000..3c8a11f
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_1.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_2.png b/app/src/main/res/mipmap-xhdpi/icon_2.png
new file mode 100644
index 0000000..58f113f
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_2.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_3.png b/app/src/main/res/mipmap-xhdpi/icon_3.png
new file mode 100644
index 0000000..5a8adda
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_3.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_4.png b/app/src/main/res/mipmap-xhdpi/icon_4.png
new file mode 100644
index 0000000..c0b108e
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_4.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_5.png b/app/src/main/res/mipmap-xhdpi/icon_5.png
new file mode 100644
index 0000000..ce4dd27
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_5.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_6.png b/app/src/main/res/mipmap-xhdpi/icon_6.png
new file mode 100644
index 0000000..b92c2a1
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_6.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_7.png b/app/src/main/res/mipmap-xhdpi/icon_7.png
new file mode 100644
index 0000000..3936413
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_7.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_8.png b/app/src/main/res/mipmap-xhdpi/icon_8.png
new file mode 100644
index 0000000..7dcb675
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_8.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/plus.png b/app/src/main/res/mipmap-xhdpi/plus.png
new file mode 100644
index 0000000..4a606c9
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/plus.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/huojian.png b/app/src/main/res/mipmap-xxxhdpi/huojian.png
new file mode 100644
index 0000000..891c004
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/huojian.png differ
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 3ce624f..59fc129 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -1,25 +1,25 @@
- - 左前
- - 右前
- - 左后内
- - 左后外
- - 右后内
- - 右后外
+ - 左前
+ - 右前
+ - 左后内
+ - 左后外
+ - 右后内
+ - 右后外
- - 正常胎
- - 翻新胎
+ - 正常胎
+ - 翻新胎
- - 超级管理员
- - 测试1
- - 测试2
- - 测试3
- - 测试4
- - 测试5
+ - 超级管理员
+ - 测试1
+ - 测试2
+ - 测试3
+ - 测试4
+ - 测试5
- 翻新
@@ -31,4 +31,18 @@
- 中等
- 差
+
+
+ - 光明修理厂
+ - 石岩修理厂
+
+
+ - 二级保养
+ - 小修
+ - 抢修
+ - 月检
+ - 拆报废车
+ - 轮胎修补
+ - 轮胎报废
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index e3cecf0..6f14022 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -4,14 +4,15 @@
#00574B
#D81B60
#f0fcff
- #ffffff
+ #FEFEFE
#529cfd
#232323
#F0F5FD
#E6E8F6FC
#3b4753
-
+ #2C3E50
+ #94A4A5
+ #F3F4F6
+ #F27B1D
+ #39B44A
diff --git a/app/src/main/res/values/style2.xml b/app/src/main/res/values/style2.xml
new file mode 100644
index 0000000..a851268
--- /dev/null
+++ b/app/src/main/res/values/style2.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 0077c1f..6553c4d 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -8,6 +8,9 @@
- @color/colorAccent
- @color/title
+
+
+