일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jszip
- userevent_tracker
- node
- Babel standalone
- webrtc
- RouteObserver
- Game js
- react
- methodChannel
- REST API
- Prism.js
- code editor
- Completer
- typescript
- swagger-typescript-api
- uint8array
- web track
- KakaoMap
- babel
- Flutter
- Image Resize typescript
- Excel
- androidId
- uint16array
- Raycasting
- identifierForVender
- Redux
- FirebaseAnalytics
- Three-fiber
- Three js
- Today
- Total
목록Flutter (50)
Never give up
필자가 생각하는 Enum의 사용처는 리펙토링할 때 직관적이게 하는것인거 같습니다 (ex : 하드코딩으로 넘기는 int값이 꼴뵈기 싫을때..?) bool으로 간단히 처리할 수 있는것은 bool을 사용하는게 좋지만 예를들어 3개 이상일 때는 어떨까요? 앞에 ex 부분에 장난식으로 써놓긴 했지만 실제로 index값에 따른 동작을 한번 더 확인해야되는 불편함이 있고 직관적이지 않습니다 그래서 회원가입 예제를 통해 알아보겠습니다 Main enum AuthState { Correct, InvalidID, ShortLength, Different } enum AuthText { ID, Password, Check } class EnumExample extends StatelessWidget { final AuthDa..
context를 사용할때 참조되는 context가 어디인지 확인해야될 때가 있습니다 해당 예제에서는 provider를 사용할 때 snackbar를 Scaffold.of(context) 형태로 사용할 때의 문제점 그리고 해결방안에 대해 알아보겠습니다 Main class ExamplePage extends StatelessWidget { @override Widget build(BuildContext context) { return Consumer( builder: (context, items, child) { return Scaffold( appBar: AppBar(title: Text('Example page')), body: Column( mainAxisAlignment: MainAxisAlignmen..
데이터를 다루다보면 Map을 Listview로 표현해야될때가 있습니다 제가 사용한 데이터 타입은 Map입니다 (items은 String값의 reply와 user name입니다) 다양한 방법이 있지만 필자는 다음과 같은 방법을 사용했습니다 Main class MapListViewExample extends StatefulWidget { @override _MapListViewExampleState createState() => _MapListViewExampleState(); } class _MapListViewExampleState extends State { TextEditingController _tController = TextEditingController(); ScrollController _s..
검색기능을 사용할 때 키보드 때문에 TextField가 가려지거나 다른 방식으로 처리하면 붕 뜨거나 할때 가장 간단한 방법은 Column안에 Expanded안에 위젯을 넣고 맨 하단에 TextField사용하면 특별한 처리를 하지 않아도 하단에 고정이 됩니다 그 다음으로 List를 사용할 때 List안에 있는 값을 검색할 수 있는 기능을 추가시키고 싶을때 어떻게 처리해야되는지 예제를 통해 알아보겠습니다 Main class SearchExample extends StatelessWidget { @override Widget build(BuildContext context) { var items = Provider.of(context, listen: false); return Scaffold( appBar: ..
구글 공식문서에 따르면 다음과 같은식으로 구현을 하는데 { "name": "John Smith", "email": "john@example.com" } //변환 할 json값 class User { final String name; final String email; User(this.name, this.email); User.fromJson(Map json) : name = json['name'], email = json['email']; Map toJson() => { 'name': name, 'email': email, }; } 여기서 조금 더 생각해야되는 부분이 있습니다 예제에 나온 serialize는 불러온 json 데이터가 하나일때는 처리할때는 이렇게 하지만 여러개일때는 어떻게 해야될지 고민이..
ListView를 다룰 때 List의 index에 따라 위젯을 변경 시켜주거나 아이템을 눌렀을 때 해당 index로 이동해야되는 위젯이 있을때 처리를 어떻게 해야될지 알아보겠습니다 먼저 사용한 패키지는 다음과 같습니다 pub.dev/packages/scrollable_positioned_list class _UIExampleState extends State { List _list = List.generate(20, (index) => 'Item - $index'); StreamController _streamController; ItemScrollController _itemScrollController = ItemScrollController(); ItemPositionsListener _itemPo..
하이브리드 앱을 만들때 혹은 특정한 페이지를 로드할 때 Webview가 필요하고 어떤 앱은 검색하는 기능도 가지고 있습니다 먼저 Webview를 사용하기 위해서 다음 패키지를 이용합니다 pub.dev/packages/webview_flutter @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('WebView Example'), actions: [ IconButton( icon: Icon(Icons.search), onPressed: () => showSearch(context: context, delegate: Search()), ) ]), body: WebView( initialUrl: '..
Icon을 유저에게 선택 가능하도록 만들어야되는 앱이 있는경우 IconPicker를 사용하게 되는데, 필자가 이용한 패키지는 아래 링크에 있습니다 pub.dev/packages/flutter_iconpicker 먼저 IconData data = await FlutterIconPicker.showIconPicker(context, iconPackMode: IconPack.material); print('${data.codePoint ?? null}'); 다음과 같은식으로 아이콘을 선택하게 되는데 IconData의 data값을 print해보면 유니코드형태로 숫자가 출력되고 ex) IconData(U+0E145) codePoint를 print해보면 5자리 숫자가 나오게 됩니다 ex) 57669 그러면 우리가 ..