마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

NFC 읽은 데이터값에 조건문을 넣고 싶어요.

0 추천

제가 하고 싶은 프로젝트는...

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();
 }

 

 

 

김희구 (440 포인트) 님이 2014년 7월 25일 질문

1개의 답변

0 추천
 
채택된 답변
비교문넣으실 때 ,==가 아니라 equals 등으로 해야하지 않을까요.

문자열 비교할 때엔 ==가 아니라 equals로 비교합니다
anci (19,950 포인트) 님이 2014년 7월 25일 답변
김희구님이 2014년 7월 30일 채택됨
...