package com.yw.sdkdemo.card; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.yw.sdkdemo.R; import com.yw.ywcard.YwCardManager; /** * Created by xushuang on 2024/5/10 * E-mail: mitgic92@gmail.com * Description: */ public class CardActivity extends AppCompatActivity { private static final String TAG = CardActivity.class.getSimpleName(); private Button bt_read; private Button bt_write; private Button bt_read_uid; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_card); initView(); initListener(); } private void initView() { bt_read = findViewById(R.id.bt_read); bt_write = findViewById(R.id.bt_write); bt_read_uid = findViewById(R.id.bt_read_uid); } byte[] data = new byte[16]; private void initListener() { bt_read.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { data = new byte[16]; int ret = YwCardManager.getInstance().readRfidCard(data, 40, new byte[]{(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff}); Toast.makeText(CardActivity.this, "result=" + ret + "data= "+byteToString(data), Toast.LENGTH_SHORT).show(); } }); bt_write.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int ret2 = YwCardManager.getInstance().writeRfidCard(new byte[]{0x01, 0x02, 0x03, 0x04}, 0, new byte[]{(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff}); Toast.makeText(CardActivity.this, "result=" + ret2, Toast.LENGTH_SHORT).show(); } }); bt_read_uid.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { data = new byte[16]; byte[] data = YwCardManager.getInstance().readIDCard(); if (data == null || data.length==0) { Toast.makeText(CardActivity.this, "读取失败" , Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(CardActivity.this, "result=" + byteToString(data), Toast.LENGTH_SHORT).show(); } } }); } @Override protected void onDestroy() { super.onDestroy(); } public String byteToString(byte[] bytes) { StringBuilder hexString = new StringBuilder(); for (byte b : bytes) { hexString.append(String.format("%02X ", b)); } return hexString.toString().trim(); } }