When are providers initialized?All Riverpod providers are lazy-loaded. (링크)The provider's state is initailized when the first listener is registeredEvery time the state changes, all listeners will be notified so they can update/rebuild themselvesBoth ref.watch() and ref.listen() can be used to register as a listener to a provider. This is in contrast with ref.read(), which only does a one-time r..
동영상을 asset 에 넣고 app bundle을 생성하니 700M 가 넘어서 deferred compoenet 를 적용하려고 여러 자료를 보면서 적용해보았으나 key 와 관련하여 문제가 발생하여 다시 roll back 하기전 내가 작업했던 부분 정리하려함. 그전에, key와 관련하여 알아보다가 여기 글에서본 명령을 입력해보니, ./gradlew signingReport deferred compoent 로 설정한 모듈에 대한 정보가 없었다. 이걸 채워주지 않아서 안된가건가 싶기도 하다. 아무튼, 롤백하기전 수정한 것들을 하나씩 정리해보자. pubspec.yalm 파일에 assets/video 삭제하고, 아래와 같이 deferred-components 에 새로운 모듈 이름과 추가할 에셋 directory ..
만들고 있는 앱에 새로운 기능이 필요하다. 사진을 찍는 기능과 동영상을 찍는 기능이다. 구글에서 검색해보니 카메라를 사용할 수 있게 해주는 플러그인은 Flutter 에서 만들어준 것 하나 밖에 없는 듯하다. https://pub.dev/packages/camera camera | Flutter Package A Flutter plugin for controlling the camera. Supports previewing the camera feed, capturing images and video, and streaming image buffers to Dart. pub.dev 고민할 대안이 없으니 바로 사용을 해보았다. 패키지에 설명된 사용방법으로는 빠르게 실험해보기에 부족해서 구글링을 해보았다. 그..
Flutter 에서 코딩을 하다보면, 로컬에 파일이나 이미지를 저장할 때 사용할 경로를 받아오기 위해 path_provider 를 사용한다. path_provider 에서 주로 쓰는 2개의 method가 있다. getApplicationSupportDirectory getApplicationDocumnetsDirecoty 안드로이드에서 getApplicationDocumnetsDirecoty 를 통해 받아오는 경로는 /data/user/0/{app_id}/app_flutter/ 와 같은 형태이며 사용자 또는 다른 앱에서 접근이 불가능한 디렉토리다. (안드로이드 스튜디오에서 Device File Explorer로 확인 가능) 그래서 Hive 나 GetStorage 와 같은 패키지를 사용할때 이들 패키지에서..
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..
Getx 그 중에서도 Obs, Obx 사용법에 대해서 정리 참고자료: Getx의 statemanagement 에 대한 문서 https://github.com/jonataslaw/getx/blob/master/documentation/en_US/state_management.md GitHub - jonataslaw/getx: Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies eas Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Ge..
CustomPaint CustomPaint는 canvas를 제공하는 위젯이다. painter, child, foregroundPainter가 다 그림을 그리는 property인데 왜 나뉘어져 있는지 모르겠다. 순서대로 painter, child, foregroundPainter를 stack 처럼 쌓아올리며 그린다. 즉, 나중에 그려지는 위젯이 위에 위치한다 CustomPaint에서 제공하는 size의 크기는 크게 3부분의 값으로 부터 영향을 받는다 CustomPoaint 위젯의 크기는 기본적으로 부모 > 자식(child) > size (CustomPaint의 속성) 순으로 우선순위를 둔다. 부모가 크기를 가장 우선적으로 적용하며, 부모에 명시된 크기가 없을 경우 CustomPaint의 자식의 크기를 적용..
참고하는 패키지의 코드에서 addPostFrameCallback이 있다. 아래와 같이 사용되고 있었다. WidgetsBinding.instance!.addPostFrameCallback( function ) WidgetsBinding 부터 찾아봐야겠다. Flutter api 웹페이지에는 아래와 같이 나온다. 그리고 addPostFrameCallback 은, 그리고 WidgetsBinding 이 Mixin 으로 선언되어있는데 뒤에 on 키워드가 있다. on 키워드가 어떤건지 기억이 나지 않아 다시 찾아보았다. 아래 블로그 참고. https://paulaner80.tistory.com/entry/Dart-mixin-%EC%9D%B4%EB%9E%80-1 Dart mixin 이란? 1. 믹스인이 필요한 이유 C..
- Total
- Today
- Yesterday
- 다트
- 앱개발
- 앱
- 한빛미디어
- Syncfusion
- UI
- addPostFrameCallback
- IOS
- 문제 해결
- 에러
- Chrome
- 인사이트
- hide
- 크롬
- Bluetooth
- TextField
- 이미지
- SizedBox
- BLE
- firebase
- error
- 앱 프로그래밍
- 디자인
- 플러터
- position
- TextFormField
- Flutter
- DART
- UX
- plugin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |