
1. 왜 RFID 안드로이드 단말이었나
물류·재고·회수 시스템을 개발하다 보면
바코드만으로는 한계가 분명히 드러납니다.
- 다량 동시 인식
- 비가시 영역 태그 인식
- 반복 작업 속도
이 지점에서 UHF RFID + 안드로이드 단말 조합이 현실적인 대안이었습니다.
이번 프로젝트에서는 AT907, NR-72R 두 기종을 실제로 사용하며 개발을 진행했습니다.
2. 장비 개요 – AT907 vs NR-72R
|
구분
|
AT907
|
NR-72R
|
|
OS
|
Android
|
Android
|
|
RFID
|
UHF
|
UHF
|
|
입력 방식
|
터치 + 트리거
|
터치 + 트리거
|
|
SDK
|
Java 기반
|
Java / Xamarin
|
|
특징
|
안정적, 보급형
|
화면 작음, 반응 빠름
|
공통점은 전용 SDK 기반 개발 필수라는 점입니다.
일반 카메라/센서 접근과는 전혀 다릅니다.
3. 개발 환경 구성
- Android Studio
- Java (일부 Xamarin 예제 포함)
- 제조사 제공 SDK
- 실제 단말 디버깅 (에뮬레이터 불가)
핵심 포인트는 이 부분입니다.
RFID는 에뮬레이터에서 테스트가 거의 불가능
→ 반드시 실기기 디버깅 필요
4. 가장 많이 막혔던 부분 – 트리거 버튼
RFID 권총형 단말에서 가장 중요한 UX는
손잡이 트리거(방아쇠) 입니다.
문제 상황
- 버튼을 눌러도 아무 반응 없음
- SDK 함수는 정상인데 스캔이 안 됨
원인
[ 트리거는 일반 버튼이 아니라 KeyEvent로 들어옴 ]
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == 293) { // 장비별 트리거 키코드
startInventory();
return true;
}
return super.onKeyDown(keyCode, event);
}
- 기종마다 KeyCode가 다름
- 반드시 Logcat으로 실제 값 확인 필요
이 부분을 모르면
“SDK가 안 된다”라고 오해하기 딱 좋습니다.
5. RFID 인식 로직 구조
실무에서 사용한 기본 흐름은 다음과 같습니다.
트리거 입력 → Inventory Start → EPC 수신 → 중복 제거 → 리스트 반영 → 서버 전송
주의할 점
- EPC는 초당 수십 개씩 들어옴
- UI Thread 직접 갱신 ❌
- Queue / Handler 사용 권장
6. 화면 해상도 문제 (NR-72R)
NR-72R은 화면이 작고 비율이 특이합니다.
- 디자이너 시안 그대로 적용 ❌
- Immersive Mode 필수
- 버튼 크기 과감하게 키워야 함
getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION );
7. MAUI / Xamarin / Native 고민
- MAUI → RFID SDK 연동 난이도 높음
- Xamarin → SDK 예제 존재, 비교적 수월
- Native Java → 가장 안정적
결론:
RFID는 아직 Native Android가 정답에 가깝다
8. 실제 적용 사례
- 도서/컵 회수 시스템
- 물류 입·출고 검증
- 재고 실사 자동화
- 반복 스캔 기반 현장 작업
RFID 도입 후 가장 크게 바뀐 점은 단 하나입니다.
사람이 “확인”하던 일을 시스템이 “보증”한다
RFID 개발을 고민한다면
RFID 안드로이드 개발은 결코 “앱 하나 만드는 수준”이 아닙니다.
- 하드웨어 이해
- SDK 구조 파악
- 실기기 테스트
- 현장 UX 고려
이 네 가지가 함께 가지 않으면 실서비스로 이어지기 어렵습니다.
'HJSoft' 카테고리의 다른 글
| 안드로이드 사진 [다중선택] 위치정보(GPS 태그)는 왜 사라질까? 그리고 어떻게 보전했을까 (1) | 2026.01.08 |
|---|---|
| 우리가 몰랐던 ‘폐기물 처리 과정’, 실제로는 이렇게 됩니다 (0) | 2026.01.06 |
| AG Grid · Toast UI Grid · dhtmlx Grid (0) | 2025.12.20 |
| 시험·검사 실시 : 프로그램 적용 (0) | 2025.10.01 |
| ChatGPT, SI 개발자의 동료일까 대체자일까? (0) | 2025.09.22 |