플러터

[Flutter] Native API 활용에 관해...

  • 플러터 패키지는 다양한 기능을 제공하지만, 운영체제 만큼의 기능의 제공 X
    플러터 패키지와 각 운영체제에서 제공하는 API 를 적절하게 사용하면 더 완성도 높은 앱 만들 수 있음
  • 플러터는 운영체제별 API를 메시지 전달방식으로 지원
  • 플러터는 Android의 Java와 Kotlin, iOS에서의 Objective-C와 Swift에서 가능한 플랫폼 별 API를 사용하게 해주는 유연한 시스템을 사용한다.
  • Host(양방향 데이터를 주고 받는 장치)는 플랫폼 채널의 메시지를 받고, 플랫폼 네이티브 언어를 사용해 주요 API를 호출하고, 플러터 부분인 클라이언트에 응답을 보낸다.
  • 메시지와 응답은 반응성 좋은 사용자 인터페이스를 위해 비동기적으로 전달된다.
  • 표준 플랫폼 채널은 간단한 json 형태의 효율적인 바이너리 직렬화를 지원하는 boolean, numbers, Strings, List, Map 등 표준 메시지 코텍을 사용한다.

Android의 경우, iOS의 경우를 분기 하는 필연적인 코드가 나올 수 밖에 없음.

 

플러터앱에서 안드로이드 네이티브 함수를 호출할 때

안드로이드와 통신할 MethodChannel을 생성해야함.

MethodChannel을 사용하기 위해 service 라이브러리를 import

MethodChannel 괄호 안 문자열은 어떤 데이터를 주고 받을지를 결정하는 key 값

해당 Key값을 통해 플러터 앱과 안드로이드 앱간의 메시지를 주고받을 수 있다.

 

안드로이드로 부터 정보를 가져오는 함수는 비동기로 구현

platform.invokeMethod() 함수는 메서드 채널로 연결된 안드로이드 Native API를 호출

안드로이드로 부터 값을 전달 받아 화면에 표출

'플러터' 카테고리의 다른 글

[Flutter] Dart 기본문법에 관해...  (0) 2021.11.09
[Flutter] 플러터 하기 전 OS 배경 학습...  (0) 2021.11.08