Flutter/Flutter 개발 기록 2

[Flutter] flutter plugin 만들기

flutter의 앱 관리 기능을 외부에서도 가져다 쓸 수 있게 패키지화 했던 개발 기록기이다. 문제점일반적으로 IDE에서 만드는 New Flutter Project로 프로젝트를 생성할 경우flutter를 이용해서 Running하는 애플리케이션을 만드는 용도로 생성이 된다.이 구조로 flutter plugin을 만들려고 시도해서 꽤나 삽질을 했다.😂 pub.dev에서 가져온 플러그인도 내가 만드는 앱 관리 패키지에서 쓸 수 있어야 하고, 직접 만든 Plugin도 쓸 수 있어야 했는데pub.dev에서 가져온 플러그인은 잘 실행이 되고, 직접 만든 플러그인은 MainActivity.kt 파일에서 코드가 실행되지 않는 문제점이 있었다.   해결 과정내가 삽질했던 프로젝트의 구조(일반적인 방법으로 Flutter..

[flutter] Isolate를 이용한 동시성 제어

요구사항앱(.apk파일)을 다운로드하는 도중에 중지 버튼을 눌러 중지시킬 수 있어야 한다.다운로드 받으면서 실시간으로 몇 MB까지 다운로드 됐는지 UI를 계속 업데이트 해야 한다.현재 앱이 백그라운드로 내려가도, 다운로드는 중지되지 않고 계속 실행되어야 한다. => Isolate를 이용해서 앱을 별도의 쓰레드에서 다운로드 하도록 하고 중지 버튼 이벤트를 받을 수 있게 해야 한다. Isolate란 무엇인가Dart 코드는 스레드가 아닌 isolate의 내부에서 실행된다.각 isolate는 자신의 메모리 힙을 가지고, 다른 isolate에서는 자신의 상태에 접근할 수 없다. (공유하는 메모리가 없다.)Isolate를 사용하면 Dart 코드가 추가 프로세서 코어를 사용하여 여러가지 독립된 작업을 한 번에 수행할..