제가 하고 싶은 프로젝트는...
NFC 읽은 데이터로 조건문을 넣고 싶은데요
만약 마이비카드에서 HEX값 E489FFE4 이런 값이 읽히게 되면
IF(TAGID == E489FFE4){
이렇게 프로그램 짜야 되는건 알겠는데,,,,아무리 해도 빨간줄로 오류뜨네요
NFC 프로그램은 오픈소스로 해서 대충 내용은 이해했는데 응용할려니 되지가 않네요
아래에는 소스입니다.
읽은 데이터값에 조건문을 넣으려면 어느 부분에 넣어야 하나요?
또 어떤식으로 조건문을 넣어야 하나요??
/////////////////////////NFC 관련 함수 시작부분////////////////////////////
//NFC가 활성화 되어있으면 onNexIntent로 넘어가고, 할성화 되어 있지 않으면 넘어가지 않는다.
protected void onResume() {
super.onResume();
if (nfcAdapter != null) {
nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null);
}
}
//NFC 정보를 새로운 액티비티가 아닌 현재 액티비티에 정보를 나타낸다.
protected void onPause() {
if (nfcAdapter != null) {
nfcAdapter.disableForegroundDispatch(this);
}
super.onPause();
}
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
if (tag != null) {
byte[] tagId = tag.getId();
readnfc.setText("TagID: " + toHexString(tagId)); // 이부분이 태그값을 출력해주는 부분
}
이부분에 넣어봤는데 모르겠다네요..메소드를 못찾는듯한데 어떻게 하죠?
}
여기에 조건문을 선언해도 if(tagId == 0xE489FFE4) 이렇게 넣으면 오류가 나네요.... tagid를 모르겠다고...
어떻게 해야되는지좀 부탁드립니다 ㅠㅠ 대학 프로젝트가 급해서 ㅠㅠ
//E489FFE4 마이비 카드
public static final String CHARS = "0123456789ABCDEF";
public static String toHexString(byte[] data) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.length; ++i) {
sb.append(CHARS.charAt((data[i] >> 4) & 0x0F))
.append(CHARS.charAt(data[i] & 0x0F));
}
return sb.toString();
}