프로그램/안드로이드

안드로이드 - @SuppressLint(“NewApi”) annotation

(주)CKBcorp., 2014. 6. 13. 06:30
반응형


안드로이드 프로그램을 하다가, 이클립스에서  @SuppressLint(“NewApi”) 혹은  @SuppressLint(“Activity”) 관련 경고를 보낼 때가 있다.

앞뒤를 몰라서 조금 당황했는데, 그리 어려운 게 아니라서 기록으로 남긴다.


1. "Lint" 라는 건 원래 오류 보정해 주는 툴, 라이브러리 같은거다. 주로 컴파일 타임에서 오류를 미리 예측해 사용자에게 알려주는 스타일이다. 쉽게말해 "에러날지, 경고로 끝나고 돌아가기는 할 지, 실행은 되다가 중간부터 에러날지" 는 모른다는 것. ( 사실은 알 수도 있는데, 그게 중요한 건 아니고 ) 

포인트는 "오류의 가능성이 있는 코드 부분을 알려주는 툴 혹은 시스템" 정도.


2. Suppress 는 영어로 "억압하다" 정도의 뜻이다.


조합하면 감 나오지 않음? 

즉, SuppressList 라는 에러는, "오류가 발생할 가능성이 있는 코드가 있다" 라고 사용자에게 알려주는 거다.


그러므로, 이런 경우에는 


3. 오류가 날 가능성이 있는 코드를 지워버리거나

4. 해당 코드와 엮인 다른 리소스들을 조정하는


방법이 있다. 


내 경우는 NFC 카드 관련 어플 작성하다가 해당 경고가 떴는데,

어떻게 할 줄 몰라서 방황하다가, 그냥 안드로이드의 실행 + 컴파일 대상 API 를 4.0 이상으로 올려버렸다.( 이게 히스토리가 좀 있는데, 안드로이드의 NFC 기능이 맨 처음 추가된 건 2.3 버전이지만, API가 중간에 좀 바뀌어서 4.0 버전이 되어서야 편하게(?) 쓸 수 있게 됨 )


같은 상황에 접했을 때 다른사람들이 삽질하지 않도록 기록함.


참고 : 해당 에러에 대한 StockOverflow 의 내용

 




 


반응형