flutter service 시리즈
복붙 기능이 필요할 때가 많다.
긴 글의 ‘전체 복사’ 같은 기능이 있어야 할 때
앱 내부에서 복붙을 구현하려면 아무 메모리에 올렸다가 뺐다가 하면 된다.
하지만 카톡 같은 외부 앱 에다가 내 앱의 텍스트를 붙여넣기 하고 싶다거나, 반대로 카톡에서 복사해서 내 앱에 글을 붙여넣기 한다던지 하려고 하면 시스템 클립보드를 이용해야 한다.
당연히 패키지가 있지만,
https://pub.dev/packages/clipboard
내부 구현을 보면 그냥 flutter sdk의 내장 서비스를 사용하고 있다.
https://api.flutter.dev/flutter/services/Clipboard-class.html
메소드가 정적 메소드 3개 뿐이니 간단하다. 전부 다 퓨처를 리턴한다는 것은 주의하자.
setData(ClipboardData data) → Future<void>
Clipboard.setData(ClipboardData(text: controller.text))
복사! 간단하다.
getData(String format) → Future<ClipboardData?>
Clipboard.getData(Clipboard.kTextPlain)
format을 파라미터로 받는데 그냥 텍스트 하나 뿐이니 신경 쓸 필요없다.
hasStrings() → Future<bool>
Clipboard.hasStrings()
있으면 true, 없으면 false