지금 개발하는 앱에서 그래프를 그릴 때 저장된 모든 데이터를 그리도록 하고 있다. 15분을 측정한 데이터의 경우 데이터 샘플 수가 22500개 정도 된다. 초당 25개의 샘플을 저장하기 때문에 3분만 측정을 해도 4500개가 된다. 그렇다보니 syncfusion 에서 제공하는 open source 로 그래프를 나타내고 있는데, 그래프를 화면에 그리는데 긴 시간이 걸린다. 15분 측정 데이터를 화면에 뿌리려고 하니 10초 이상의 로딩 타임이 걸리는 것을 확인 했다. 어떻게 하면 이것을 줄일 수 있을까 싶어서 검색해보았다. 참고 자료 1. https://www.syncfusion.com/forums/175573/high-amount-of-data-points-block-the-whole 이 자료에서 질문자는..
현재 만들고 있는 앱에서는 Get 패키지를 사용하고 있다. Get 패키지에서 snackbar 를 실행하기 위해서는 Get.snackbar() 명령을 주면된다. 버튼을 누르면 snackbar 가 뜨도록 만들었는데, 버튼을 연속으로 누를 시, 즉 snackbar 가 화면에 띄어져있는 상태인데도 계속 버튼을 누를경우, 누른 횟수만큼 queue 에 쌓여있다가 그 횟수 만큼 snackbar 가 실행되는 문제가 있어다. 이를 간단히 처리하기 위해 if(SnackbarController.isSnackbarBeingShown != true) { Get.snackbar(title, contents); }
The Dart int type is a 64-bit two's complement number—except when compiled for the web, there it's a 64-bit floating point number with no fractional part (a JavaScript number which has an integer value). How those values are represented internally depends on optimizations, they can be represented as something smaller if the runtime system knows for sure that the value will fit. That's an optimiz..
Syncfusion 차트에서 그래프 안보이는 문제 Syncfusion 에서 제공하는 flutter open source 중에 그래프 그리는 패키지가 잘 만들어져 있다. https://pub.dev/packages/syncfusion_flutter_charts syncfusion_flutter_charts | Flutter Package A Flutter Charts library which includes the data visualization widgets such as cartesian and circular charts, to create real-time, interactive, high-performance, animated charts. pub.dev 이 패키지에서 x 축에는 일, 주(1월1..
DateTime extention 으로 사용 DateTime.weekday DateTime.monday = 1 DateTime.tuesday = 2 DateTime.wednesday = 3 DateTime.thursday = 4 DateTime.friday = 5 DateTime.saturday= 6 DateTime.sunday = 7 한주의 시작이 월요일 이라면 extension DateTimeExtension on DateTime { int get weekOfMonth { var date = this; final firstDayOfTheMonth = DateTime(date.year, date.month, 1); int sum = firstDayOfTheMonth.weekday - 1 + date.d..
앱에서 버튼음과 같은 효과음을 넣기 위해 audioplayers 패키지를 사용했다. 하지만 자잘한 문제들이 있어, 나중에 기억 못할 까봐 남겨보려 한다. 1. PlayerMode .lowLatency 를 사용할 경우, 불편한 로그 메시지들이 쭈~~~욱 audioplayer의 setPlayMode와 관련하여 소스코드 주석을 보면, 낮은 지연을 위해서는 lowLatency모드를 사용하라고 되어있지만 실제로 적용해서 돌려보면 많은 log 메세지를 남긴다. 앱은 돌아가지만 뭔가 boundary를 넘어섰다고 하고, 어쩌고 저쩌고...은근 신경 쓰인다. 이걸 고칠 방법이 있나 찾아보니, 아래글에서처럼 lowLatency 쓰지 말란다. 참고 자료: https://github.com/bluefireteam/audiop..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/RUufd/btrHn1QBGsP/ZkBRkXZ1EOaBSxT9pwFQG0/img.png)
앱에서 저장할 수 있는 공간은 두가지로 나뉜다. internal storage와 external storage. internal storage는 해당 앱만 접근할 수 있는 저장 공간이다. 따라서 컴퓨터에 장치를 연결하고 파일 탐색기로 들어가보아도 이 공간에는 접속 할 수 없다. external storage는 해당 앱 뿐만아니라 다른 앱 또는 외부에서 접근이 가능한 공간이다. 즉, 파일 탐색기로 확인이 가능하다. 내가 원하는 것은 external storage에 저장하여 파일 탐색기를 통해 파일을 들여다 보거나, 가져올 수 있는 것이다. 조금 더 추가하면 모바일폰이나 태블릿을 컴퓨터에 연결 했을 때, 아래와 같은 폴더 중 한 곳에다가 앱에서 생성한 파일을 저장 하는 것이다. 플러터에서 external s..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/JQ0rD/btrGzPEhEG7/wpR3noacUpwPYOlRal9ocK/img.png)
Text 위젯에서는 표시할 text의 fonSIze 설정할 수 있다. 이때 Text위젯을 감싸는 위젯의 높이(height)가 지정되어있지 않을때 자신의 child, 지금의 경우 Text 위젯의 크기를 따르게 된다. 만약 Text 위젯도 높이(height)가 정해져 있지 않을 경우 Text Widget은 표시할 text의 크기에 비례해서 커지게 된다. 이에 따라 Text위젯을 감싸는 위젯(내 경우 SizedBox)도 크기가 따라 커지게 된다. 위와 같이 간단한 코드를 통해 테스트 해보자. fontSize 값은 코드에서처럼 100을 넣었다. 한글은 '한뀰' 영어는 'Rg' 를 입력했다. SizedBox의 height는 아래 사진과 같이 Flutter Dev tool의 Flutter Inspector를 이용해..
- Total
- Today
- Yesterday
- plugin
- 문제 해결
- 크롬
- IOS
- position
- Syncfusion
- TextField
- 인사이트
- 다트
- error
- UX
- 에러
- Flutter
- hide
- firebase
- 디자인
- 앱
- BLE
- addPostFrameCallback
- SizedBox
- UI
- 플러터
- Chrome
- 앱개발
- 이미지
- Bluetooth
- TextFormField
- DART
- 앱 프로그래밍
- 한빛미디어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |