diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3f29dab..b9b9fc0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -17,19 +17,25 @@ android:theme="@style/Theme.WriteEpc" android:usesCleartextTraffic="true" tools:targetApi="31"> + + + + + + - - + android:exported="false" /> - + @@ -46,16 +53,11 @@ android:name=".HomeActivity2" android:exported="true" android:label="轮胎信息追溯"> - - - - + - - + android:exported="true" /> - - - - + + + + + + diff --git a/app/src/main/java/com/example/writeepc/InfoData.java b/app/src/main/java/com/example/writeepc/InfoData.java index a5b1d23..9c0b43c 100644 --- a/app/src/main/java/com/example/writeepc/InfoData.java +++ b/app/src/main/java/com/example/writeepc/InfoData.java @@ -12,6 +12,36 @@ public class InfoData extends BaseObservable { private String readTId; private byte[] tidBytes; + private String writeUser; + private String readUser; + private int readLenth=4; + + public int getReadLenth() { + return readLenth; + } + + public void setReadLenth(int readLenth) { + this.readLenth = readLenth; + } + + public String getWriteUser() { + return writeUser; + } + + public void setWriteUser(String writeUser) { + this.writeUser = writeUser; + notifyChange(); + } + + public String getReadUser() { + return readUser; + } + + public void setReadUser(String readUser) { + this.readUser = readUser; + notifyChange(); + } + public byte[] getTidBytes() { return tidBytes; } diff --git a/app/src/main/java/com/example/writeepc/WriteUserActivity.java b/app/src/main/java/com/example/writeepc/WriteUserActivity.java new file mode 100644 index 0000000..5c48328 --- /dev/null +++ b/app/src/main/java/com/example/writeepc/WriteUserActivity.java @@ -0,0 +1,62 @@ +package com.example.writeepc; + +import android.os.Bundle; +import android.util.Log; +import android.view.View; + +import androidx.databinding.DataBindingUtil; + +import com.example.writeepc.base.BaseActivity; +import com.example.writeepc.databinding.ActivityWriteUserBinding; + +public class WriteUserActivity extends BaseActivity { + private ActivityWriteUserBinding binding; + private InfoData infoData; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = DataBindingUtil.setContentView(this, R.layout.activity_write_user); + infoData=new InfoData(); + binding.setData(infoData); + initUHFRManager(5); + } + + @Override + protected void readTidReault(boolean readState, String result, byte[] rdata) { + Log.e("TAG", "readTidReault:" + result); + infoData.setReadUser(ASCIIUtil.hex2Str(result)); + } + + public void writeUser(View view) { + + } + + public void readUser(View view) { + int lenth = Integer.parseInt(binding.userReadLenth.getSelectedItem().toString()); + readUser(lenth); + } + + public void userClearView(View view) { + infoData.setWriteUser(null); + infoData.setReadUser(null); + } + + + + + + + + + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uhfrManager != null) { + uhfrManager.close(); + uhfrManager = null; + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/writeepc/base/BaseActivity.java b/app/src/main/java/com/example/writeepc/base/BaseActivity.java index 58566cf..1ee353d 100644 --- a/app/src/main/java/com/example/writeepc/base/BaseActivity.java +++ b/app/src/main/java/com/example/writeepc/base/BaseActivity.java @@ -51,7 +51,14 @@ public class BaseActivity extends AppCompatActivity { uhfrManager.setPower(30, 30); accesspwd = Tools.HexString2Bytes("00000000"); music = MediaPlayer.create(this, com.example.writeepc.R.raw.msg); + } + public void initUHFRManager(int power) { + uhfrManager = UHFRManager.getInstance(); + uhfrManager.setGen2session(false); + uhfrManager.setPower(power, power); + accesspwd = Tools.HexString2Bytes("00000000"); + music = MediaPlayer.create(this, com.example.writeepc.R.raw.msg); } public void initUHFRManager1() { @@ -82,7 +89,8 @@ public class BaseActivity extends AppCompatActivity { // 1- 读取EPC public void readEPC(int lenth) { byte[] rdata = new byte[lenth]; - Reader.READER_ERR readerErr = uhfrManager.getTagData(1, 2, lenth / 2, rdata, accesspwd, timeOut); + Reader.READER_ERR readerErr = + uhfrManager.getTagData(1, 2, lenth / 2, rdata, accesspwd, timeOut); Log.e("TAG", "readTid:" + readerErr.name()); if (readerErr == Reader.READER_ERR.MT_OK_ERR) { music.start(); @@ -94,6 +102,23 @@ public class BaseActivity extends AppCompatActivity { } + // 3- 读取User + public void readUser(int lenth) { + byte[] rdata = new byte[lenth]; + Reader.READER_ERR readerErr = + uhfrManager.getTagData(3, 0, lenth / 2, rdata, accesspwd, timeOut); + Log.e("TAG", "readTid:" + readerErr.name()); + if (readerErr == Reader.READER_ERR.MT_OK_ERR) { + music.start(); + readTidReault(true, Tools.Bytes2HexString(rdata, lenth), rdata); + } else { + Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show(); + readTidReault(false, null, null); + } + + } + + protected void readTidReault(boolean readState, String result, byte[] rdata) { } diff --git a/app/src/main/res/layout/activity_write_user.xml b/app/src/main/res/layout/activity_write_user.xml new file mode 100644 index 0000000..93dbaaa --- /dev/null +++ b/app/src/main/res/layout/activity_write_user.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +