회사에서 Flutter로 개발한 앱과 근전도 장비는 블루투스(BLE)로 연결한다. 사용하는 BLE 라이브러리는 Flutter_Reactive_Ble 이다. 근전도 장비가 정전기나 베터리 고갈로 꺼질 경우 앱에서는 의도하지 않은 연결해제(Unintended disconnection)가 발생한다. iOS 의 경우 문제가 없이 잘 동작하지만, Android 에서는 문제가 있다. 다른 장비와 연결을 시도하면 연결이 되지 않고, 기존에 연결되었었던 장비하고만 연결이 가능하다. 우리 앱의 경우, 장비 끄기 버튼이 있는데 이 버튼을 누르면 블루투스 메시지로 장비를 꺼라는 명령을 보내고 이를 수신한 장비는 전원을 끄게 된다. 이러면 장비는 이미 꺼져있기 때문에 이후 실행되는 disconnect 명령을 OS에 보내도 장..

패턴책을 볼때 알게된 Singletone. 플러터를 이용해 Bluetooth를 연결하기 위해서 코딩하는 중에 마주쳤다. 현재 Bluetooth를 사용하기 위한 라이브러리로 flutter_blue_plus를 사용하고 있는데 여기서 클래스 정의 내부를 보면 아래와 같이 singletone 이다. 핸드폰에 Bluetooth 모듈이 하나가 있기 때문에, 하나의 instance 만 가지고 있어야 해서 그렇다. 비슷한 방식으로 아래처럼 get 대신에 factory를 이용할 수 도 있다. 결과를 보면 singletone 프린트문은 한번만 실행됬고, a 와 b는 같은 클래스 인스턴스를 가지고 있는 것을 볼 수 있다.
- Total
- Today
- Yesterday
- Syncfusion
- error
- 에러
- 앱
- 플러터
- BLE
- 이미지
- 문제 해결
- Chrome
- UX
- 앱 프로그래밍
- position
- 인사이트
- 앱개발
- addPostFrameCallback
- hide
- 디자인
- DART
- SizedBox
- UI
- TextField
- Bluetooth
- plugin
- Flutter
- IOS
- firebase
- TextFormField
- 크롬
- 한빛미디어
- 다트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |