안드로이드 개발 팁 #71 - Serializable 객체를 간단히 읽을 수 있는 Intent 클래스의 확장함수 구현
Serializable 객체를 간단히 읽을 수 있는 Intent 클래스의 확장함수 구현
No. 71
2024. 06. 21 (금) | Written by @dorian-mobileapp
Intent 클래스에서 getSerializableExtra(name) 메소드는 deprecated 되었습니다. getSerializableExtra(name, clazz) 메소드를 대신 사용해야 하지만, 이것은 안드로이드 API 레벨 33부터 가능합니다. API 레벨 값에 따라 분기를 쳐줘야 하는데, Serializable을 읽는 별도의 확장 함수를 구현하였습니다. 안드로이드 버전을 알 필요 없이 이 함수를 간단히 호출하면 됩니다.
fun <T: Serializable> Intent.readSerializableExtra(name: String, defaultValue: T, clazz: Class<T>): T {
return when {
(Build.VERSION.SDK_INT >= 33) -> getSerializableExtra(name, clazz) ?: defaultValue
else -> getSerializableExtra(name) as T ?: defaultValue
}
}
지난 안드로이드 개발 팁
- #70 - 2가지 조건에 따라 배경색을 다르게 설정하기 위한 selector 리소스 정의 방법
- #69 - ToggleButton 뷰에 적용된 그림자 효과 제거
- #68 - 타겟팅 버전 33 변경 후, 발생하는 SecurityException 해결 방법 (from registerReceiver)
- #67 - 인텐트에 데이터를 읽거나 기록할 때 발생하는 BadParcelableException 예외
- #66 - Deprecated 코드 개선: Intent 클래스의 getSerializableExtra 메소드
- #65 - 화면 전체를 차지한 뷰를 위로 밀어 올리는 애니메이션 리소스
- #64 - android.database.Cursor 클래스의 확장 함수
- #63 - 모서리가 둥근 사각형
- #62 - 키보드 숨김 실행 방법 그리고 이를 실행하는 확장 메소드
- #61 - 타겟 SDK 버전을 34로 설정 후 수정해야 하는 코드
- #60 - (ChatGPT 활용) 아이디에 마스크 적용하기
- #59 - ChatGPT로 간단한 코딩은 질문으로 물어보자
- #58 - TextView 뷰에 스크롤 적용 방법
- #57 - JSON 포맷의 문자열을 GSON 라이브러리 제공 JsonObject 타입으로 변환
- #56 - 앱이 백그라운드 모드에서도 라이브 데이터 관찰 방법
- #55 - 프래그먼트에서 코루틴 플로우 수집 주기 정하기
- #54 - 떠 있는 키보드 숨기는 방법
- #53 - 1줄의 텍스트를 입력받는 EditText 뷰에서 엔터 키 누름 처리 방법
- #52 - 마크다운 텍스트를 웹뷰로 보여주기 위해 추가로 설정해야 할 것
- #51 - 마크다운 텍스트를 HTML 텍스트로 변환한 후 스타일 적용 방법
- #1 ~ #50
Layout provided by Steemit Enhancer hommage by ayogom
Posted through the ECblog app (https://blog.etain.club)
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.
Thank you, friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
please click it!
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)
The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.
안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!
Upvoted! Thank you for supporting witness @jswit.