Page 372 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 372
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();
}
// onNewIntent 메소드 수행 후 호출되는 메소드
private void processTag(Intent passedIntent) {
Parcelable[] rawMsgs = passedIntent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if (rawMsgs == null) {
return;
}
// 참고! rawMsgs.length : 스캔한 태그 개수
Toast.makeText(getApplicationContext(), "스캔성공!", 1000).show();
NdefMessage[] msgs;
if (rawMsgs != null) {
msgs = new NdefMessage[rawMsgs.length];
for (int i = 0; i < rawMsgs.length; i++) {
msgs[i] = (NdefMessage) rawMsgs[i];
showTag(msgs[i]); // showTag 메소드 호출
}
}
}
// NFC 태그정보를 읽어 들이는 메소드
private int showTag(NdefMessage mMessage) {
List<ParsedRecord> records = NdefMessageParser.parse(mMessage);
final int size = records.size();
for (int i = 0; i < size; i++) {
ParsedRecord record = records.get(i);
int recordType = record.getType();
String recordStr = ""; // NFC 태그로부터 읽어 들인 텍스트 값
if (recordType == ParsedRecord.TYPE_TEXT) {
recordStr = "TEXT : " + ((TextRecord) record).getText();
- 365 -