| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- androidstudio
 - 연습문제
 - SimpleDateFormat
 - modal
 - 스킬체크테스트
 - 안드로이드
 - 코딩테스트
 - MSSQL
 - bootstrapModal
 - AJAX
 - Android
 - 부트스트랩
 - 코딩테스트연습
 - 월간코드챌린지시즌3
 - php
 - level1
 - Programmers
 - 나머지가1
 - 프로그래머스
 - REACT
 - Fullcalendar
 - java
 - 스킬체크
 - Node
 - bootstrap
 - 월간코드챌린지시즌2
 - 동적웹페이지
 - 백준
 - 모달
 - Summer/WinterCoding
 
- Today
 
- Total
 
개발하는 고양이 오이
3. [Android] Handler Deprecated 본문
기존에 작성되어있는 소스 코드를 분석하다가 생성자에 아무것도 넣어주지 않았던 Handler에 줄이 쳐져있었고, 확인해보니 해당 Handler가 Deprecated 된 것을 알았습니다.

"Default constructor in android.os.Handler is deprecated"

해당 문제에 대해 Android developers를 찾아보니 다음과 같은 이유로 deprecated 된것을 알았습니다.
https://developer.android.com/reference/android/os/Handler
Handler | Android Developers
developer.android.com

이 생성자는 더 이상 사용되지 않습니다. 핸들러 생성 중 Looper를 암시적으로 선택하면 작업이 자동으로 손실되는 버그(Handler가 새 작업을 기대하지 않고 종료되는 경우), 충돌(Looper가 활성화되지 않은 스레드에서 핸들러가 생성되는 경우) 또는 경쟁 조건이 발생하는 버그가 발생할 수 있습니다. 핸들러가 연결된 스레드는 작성자가 예상한 것과 다릅니다. 대신 , {link android.view.View#getHandler} 등을 Executor사용하여 명시적으로 Looper를 사용 하거나 지정하세요 Looper#getMainLooper. 암시적 스레드 로컬 동작이 호환성 new Handler(Looper.myLooper())을 위해 필요한 경우 독자에게 명확하게 하기 위해 사용 합니다.
따라서 Handler 생성자에 Looper를 넣어서 사용해주면 해결됩니다.
Handler(Looper.getMainLooper())

감사합니다. ( ´・ᴗ・` )