-
Flutter 채널에서 Handler 사용 - KotlinMobile/Flutter 2022. 6. 2. 21:26
Flutter 공식 문서를 참조하였습니다.
https://flutter-ko.dev/docs/development/platform-integration/platform-channels
플랫폼 별 코드 작성
앱에서 커스텀하게 플랫폼 별 코드를 작성하는 방법을 배워보세요.
flutter-ko.dev
Flutter에서 채널 메서드를 호출할 때는 기본적으로 Main Thread(UI Thread)를 사용합니다.
하지만 만약 SDK 등 다른 메서드를 호출 하였을 때 해당 메서드가 메인 스레드가 아닌 백그라운드 스레드에서 동작하고 해당 스레드가 끝나거나 동작 중에 메인 스레드의 코드를 순차적으로 호출해야 한다면 이 핸들러를 사용해야 한다고 보인다.
자세한 내용과 사용법은 위 링크에 접속하면 확인이 가능하니 여기서는 코틀린을 사용한 코드 작성을 할 것이다.
private fun threadHandler() { Handler(Looper.getMainLooper()).post { Log.d("지연 호출 : {}", "호출했으") } }
위 메서드를 필요한 위치에서 호출하게 된다면 백그라운드 스레드가 진행된 후 작성된 부분에서 메인 스레드로 다시 돌아오게 될 것이다.
만약 이런 방식이 아닌 지연시간을 넣고 싶다고 한다면.
private fun threadHandler() { Handler(Looper.getMainLooper()).postDelayed({ Log.d("지연 호출 : {}", "호출했으") }, 1000) }
위와 같이 postDelayed로 변경 후 원하는 시간을 입력해주면 된다.
예시에서는 1초로 작성하였다.
'Mobile > Flutter' 카테고리의 다른 글
Flutter http를 이용한 통신 구현 (0) 2022.06.06 Timer 사용(setInterval, setTimeout) (0) 2022.06.06 KaKao 로그인 구현 (0) 2022.05.26 Firebase 설정(Firebase CLI) - Windows (0) 2022.05.25 Flutter Window에서 시작하기(IntelliJ) (0) 2022.05.24