개발/Dart & Flutter

[Flutter] 인스타그램, 카카오톡처럼 탭 순서대로 이미지 선택하기 - Image Picker의 단점 / Platform Channel이란

Monsh 2022. 2. 7. 09:50
반응형

Image Picker의 단점(특히, 안드로이드에서)

우선 실례부터 보겠습니다.

 

Image Picker를 사용했을 때

안드로이드의 경우, 구글 Photo를 이용해서 이미지를 선택하게 되는데
여러 장 선택하는 것은 가능하지만, 문제가 발생합니다.

(iOS에서는 테스트 해보지 못 했고, 구글 Photo가 지원하지 않는 기능일 수 있습니다.)

 

① 선택할 때 순서가 없다.
② 선택할 때 보여진 순서대로 리스트에 저장되지 않는다.

(장점 아닌 장점으로 구글 Photo를 이용하기 때문에 개발 중인 앱에 storage 사용 permission이 없어도 되긴 한데,

어차피 이건 중요한 문제가 아니다... 권한은 주면 그만이기 때문이다.)

 

그래서, Image Picker의 사용이 구글 Photo에 종속적이라는 게 단점이라는 뜻이다.


Image Picker의 단점을 해결한 라이브러리

사용 실례를 보겠습니다.

 

Multi Image Picker 2를 사용했을 때

개발 중인 앱에서 직접 storage에 접근해 이미지들을 로드, 선택까지 가능하게 되므로

단점 ①, ②를 모두 해결할 수 있었고, 선택 화면도 커스터마이징이 가능하였습니다.

 

Multi Image Picker 2의 세부적인 커스터마이징에 대해서는 본 게시글에서 다루지 않겠습니다.
필요한 내용이 있으면 댓글 남겨주세요.


Multi Image Picker 2의 구조

Multi Image Picker 2는 두 가지 오픈 소스 라이브러리를 platform channel로 불러온다.

 

Android: FishBun

iOS: BSImagePicker

 


Flutter의 Platform Channel이란

공식 문서는 아래 링크를 참고하면 됩니다.

Flutter: Writing custom platform-specific code

 

Writing custom platform-specific code

Learn how to write custom platform-specific code in your app.

docs.flutter.dev

Flutter 앱이 위와 같은 구조로 플랫폼 채널링을 지원하고

MethodChannel 클래스의 invokeMethod 메소드가 그 시작이라는 것까지만 알아두고

자세한 내용은 후에 다른 게시글에서 다루겠습니다. (다음 포스팅이라는 뜻은 아닙니다.)

반응형