일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- uint16array
- Image Resize typescript
- node
- methodChannel
- androidId
- Flutter
- Redux
- Prism.js
- webrtc
- typescript
- jszip
- code editor
- Babel standalone
- babel
- Excel
- REST API
- Three-fiber
- KakaoMap
- swagger-typescript-api
- three.js
- RouteObserver
- identifierForVender
- react
- Raycasting
- userevent_tracker
- Three js
- Game js
- uint8array
- web track
- Completer
- Today
- Total
목록분류 전체보기 (123)
Never give up
유저가 앱을 잠깐 pause(terminate 아닙니다) 시켰을 때 어떤 작동을 중단하거나 다시 돌아왔을 때 특정한 이벤트를 발생시켜주거나 할 때 어떻게 처리해야될지 고민이 많이 될텐데 이 부분을 WidgetsBindingObserver를 통해 간단하게 해결할 수 있습니다 class _ObserverExampleState extends State with WidgetsBindingObserver { String _text = 'Wait'; @override void initState() { super.initState(); WidgetsBinding.instance!.addObserver(this); } @override void didChangeAppLifecycleState(AppLifecycleSt..
이번 예제는 overlay entry 실험하면서 typedef 콜백을 사용해 본적이 있었는데 상황에 따라서는 유용하지만 조금 귀찮은 점도 있어서 일반적으로 Function()형태로 넘기는 형태를 선호했었는데 상황에 따라 필요하기도 하고, 안쓰다보니 까먹기도 해서 기록으로 남겨두려고 포스트를 결정했습니다 그리고 Flutter 2.0으로 넘어오면서 global key를 이용한 Snackbar 호출을 하는 방법이 없을까 해서 찾아보던 중 방법을 찾아내서 필요하신분들을 위해 예제를 만들어봤습니다 (제 블로그 보시는분들 거의 없겠지만 말이죠..) import 'package:flutter/material.dart'; typedef ButtonClicked = void Function(String text); ty..
알림 기능을 위해 FCM을 써야될 경우가 생기는데 공식문서가 생각보다 덜 친절하다보니 많이 질문을 올리기도 하고 필자도 구현하면서 조금 귀찮았던 부분이 있어서 이 부분에 대해 포스트 해보기로 했습니다 해당 예제에서는 FCM을 이해하는데 필요하다고 생각되는 부분만 짚고 넘어갈 예정이라 부분적으로 생략한 부분이 많아서 직접 구현하셔야되는게 조금 있는데 어려운 부분은 아니라고 생각돼서 넘어가겠습니다 (생략한 부분 : 회원가입과 로그인 및 기기 토큰값 firestore에 저장하는 작업 등등) 백그라운드 처리를 위한 메인부분 Future _firebaseMessagingBackgroundHandler(RemoteMessage message) async { await Firebase.initializeApp(); ..
Multi image picker를 사용할 경우 애매한 상황이 생깁니다 (해당 예제는 4.8.0 버전을 사용했습니다) 불러오는 데이터 타입이 Asset인데 내부를 보면 (링크 참고 : pub.dev/documentation/multi_image_picker/latest/multi_image_picker/Asset-class.html) Asset( this._identifier, this._name, this._originalWidth, this._originalHeight, ); //너는 뭐냐... Image picker는 file path를 가져와서 File형태로 사용할 수 있고 byte array가 필요한 경우 readAsByte같은 메소드를 사용하면 됩니다 근데 이 Asset이란 녀석(?)은 기기에..
PageView를 쓸 때 Loop가 되도록 만들고 싶을 때가 있습니다 그래서 관련 패키지와 stackoverflow같은곳을 찾아보니 거의 다 본문과 같은 방식으로 처리를 했더군요 동일하다면 굳이 패키지를 사용하지 않고 구현하는게 좋지 않을까 해서 이번 예제를 만들어봤습니다 import 'package:flutter/material.dart'; class LoopPageView extends StatefulWidget { final String title; LoopPageView(this.title); @override _LoopPageViewState createState() => _LoopPageViewState(); } class _LoopPageViewState extends State { Page..
이전에 Migration을 하면서 fixed length list에 대한 문제에 대해 말씀드린적 있습니다 (링크 : devmemory.tistory.com/55) 그래서 issue에 올려보니 제작자가 다른 소리만 하고 해결할 의지가 별로 없어보였습니다.. 먼저 간단한 예제 코드와 설명으로 시작해보겠습니다 Splash class TestSplash extends StatefulWidget { @override _TestSplashState createState() => _TestSplashState(); } class _TestSplashState extends State { @override void initState() { super.initState(); init(); } void init() asy..
ListView안에 ListView를 넣어야되는 상황이 생길때가 있습니다 그래서 이 부분을 간단하게 처리하는 방법중 하나를 소개해드리고자 합니다 먼저 필요한 부분을을 조금 더 이해하기 쉽게 설명하기 위해 가장 유사하고 간단한 예를 먼저 들어드리겠습니다 이전에 단톡방에 "horizontal Listview에 ListTile을 넣었는데 에러가 난다" 라는 질문에 대한 답변을 드린적이 있는데 이 부분부터 간단히 짚고 넘어가겠습니다 "ListTile은 width를 정해주지 않아도 자동으로 끝에서 끝으로 그려주죠 Expanded처럼요 그래서 ListView를 가로로했을때 ListTile을 특정 width로 안 감싸주면 infinite width가 돼서 에러가 발생하게 됩니다" 제가 이렇게 답변을 드렸던 기억이 있..
material widget들 중 Stepper를 사용해보려고 예제를 만들어봤는데 생각보다 문제가 많은 위젯이란걸 느꼈습니다 소스코드와 함께 이 부분에 대해서 말해보고자 합니다 class StepperExample extends StatefulWidget { final String title; StepperExample(this.title); @override _StepperExampleState createState() => _StepperExampleState(); } class _StepperExampleState extends State { List _list = List.generate( 5, (index) => Step( title: Text('Step - ${index + 1}'), cont..