lzw
2024-11-04 dd257d5d6ab766917c1fea03cf109b07797169c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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();
    }
}