Image Picker의 단점(특히, 안드로이드에서)
우선 실례부터 보겠습니다.
안드로이드의 경우, 구글 Photo를 이용해서 이미지를 선택하게 되는데
여러 장 선택하는 것은 가능하지만, 문제가 발생합니다.
(iOS에서는 테스트 해보지 못 했고, 구글 Photo가 지원하지 않는 기능일 수 있습니다.)
① 선택할 때 순서가 없다.
② 선택할 때 보여진 순서대로 리스트에 저장되지 않는다.
(장점 아닌 장점으로 구글 Photo를 이용하기 때문에 개발 중인 앱에 storage 사용 permission이 없어도 되긴 한데,
어차피 이건 중요한 문제가 아니다... 권한은 주면 그만이기 때문이다.)
그래서, Image Picker의 사용이 구글 Photo에 종속적이라는 게 단점이라는 뜻이다.
Image Picker의 단점을 해결한 라이브러리
사용 실례를 보겠습니다.
개발 중인 앱에서 직접 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 메소드가 그 시작이라는 것까지만 알아두고
자세한 내용은 후에 다른 게시글에서 다루겠습니다. (다음 포스팅이라는 뜻은 아닙니다.)
'개발 > Dart & Flutter' 카테고리의 다른 글
[Flutter] CocoaPods's specs repository is too out-of-date (0) | 2023.01.27 |
---|---|
[Flutter] dio로 이미지 여러 장 전송하기 - Send multiple images on multipart/form-data (0) | 2022.02.08 |
[Flutter] 게시판 글 목록 무한 스크롤, Infinite Scrolling, Lazy Loading (0) | 2021.08.05 |
[Flutter] GridView.count는 setState 결과 반영이 안 된다 (0) | 2021.08.03 |
[Dart/Flutter] Upload Multiple Images to Server Using PHP and JSON / 서버에 이미지 업로드 (0) | 2021.07.26 |