본문 바로가기

Dead Code/Flutter_Dart59

[플러터] 주석 한꺼번에 지우기(정규식) 신규로 프로젝트를 생성하면, 주석달린 뭔가가 많이 나오는데, 주석을 한꺼번에 지우는 정규식은 다음과 같다. ctrl + H 를 눌러 바꾸기를 한다음, 정규식을 활성화하고, 각 파일에 맞는 정규식을 입력해주면 선택이 된다. 맨 오른쪽에 있는 코딱지만한 버튼이 정규식을 활성화 하는 버튼이다.    yaml 파일은 특히, 주석이 많으니..   드럽게 외워지지 않는 관계로 적어둔다. 마지막에 \n은 안적어도 되는거 같은데, 왜 기재해야하는지 모르겠지만, 일단 패스. [yaml]#.*\n[dart]//.*\n  끝. 2024. 10. 22.
[플러터] widgetFlutterbinding.ensureInitialized 오늘도 장님이 길을 찾듯이.. 뭔지 모르는 개념을 하나씩 찾아본다.  WidgetsFlutterBinding.ensureInitialized(); 비동기 메소드 채널을 사용하기 위해 초기화해준다는 외계어는 모르겠고,안드로이드나 iOS의 네이티브 리소스를 사용하기 전초기화를 통한 사용 준비를 하는 역할이라고 해두자.  메소드 채널은 플러터와 네이티브 리소스를 연결해주는 채널이다. 예를 들어 firebase나 googlesheet api 등구글에서 제공하는 라이브러리에는 반드시 사용해야하는 경우가 많으니,알아두자. 모르면 뭐 어떤가.. 안넣으면 에러나겠지 머. 2024. 10. 19.
[다트] VSCode snippet 생성기(generator) 꽤 오래전에 VSCode용 snippet을 만드는 엑셀파일을 만들었고, 잘 사용하고 있지만, 엑셀 프로그램을 구동하는 자체가 상당히 귀찮은 작업이다.  [플러터] VS CODE - DART snippet 만들어 쓰기일일이 코드를 쳐서 UI를 만드는 일이 생산성에 도움이 된다는 이야기를 초보자인 나는 이해를 못하겠다. 하지만, COPY/PASTE를 쉽게 쓸수 있다면 그 또한 파랑새는 아닐지 모른다. VS CODE EXTENSION으sunnybong.tistory.com  VSCode snippet을 온라인에서 생성하는 생성기가 있어 글을 남긴다.  snippet generatorSnippet generator for Visual Studio Code, Sublime Text and Atom. Enjoy :.. 2024. 4. 2.
[플러터] SearchBar Widget 사용하기 검색기능을 만들일이 있을지 모르겠지만, 예전에 슬쩍 봤었던, SearchBar Widget에 뭔가 신박한 무엇인가가.. 생겼나 살펴보았다.다짜고짜, SearchBar 위젯을 달아본다. 입력창에 별다른 제한을 두지 않으니, 그닥 큰 생각을 할 필요는 없었다.대충 숫자를 사용해서, string list를 만들고, 필터가 걸렸을때 사용할 빈 list를 만들었다. ListString> list = [  "1",  "2",  //... 중간 생략];ListString> filteredList = [];  입력값에 제한을 둔다면 컨트롤러가 필요하겠지만, 이번엔 건드리지 않는 것으로 한다. var textcontroller = TextEditingController();  복잡하지만, onChanged 이하 구문만 .. 2023. 7. 25.
[플러터] 심플 애니메이션 Animated... 위젯을 쓰지 않고, 애니메이션을 사용하기 귀찮지만, 막상 하고 보면 마땅히 쓸 곳은 없고, 애매하다.    ContainerStateful Widget에서 SingleTickerProviderStateMixin 호출class _MainPageState extends StateMainPage>  with SingleTickerProviderStateMixin 컨트롤러와 애니메이션 변수 생성late AnimationController animationController;late Animation animation; 그리고 초기화,@overridevoid initState() {  // TODO: implement initState  super.initState();  animationC.. 2023. 7. 20.
[플러터] minSdkVersion 위치 특정 패키지를 사용하다보면, 최소한의 안드로이드 SDK를 00버전 이상으로 하라고 에러가 뜰 때가 있는데, app > build.gradle 파일을 보면, minSdkVersion 표기가 되어있지만, 음... 어딘가(flutter.minSdkVersion)를 참조하고 있다. 그냥 지우고 숫자를 입력해도 무방은 하다. defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.fluttertest" // You can update the following values to match yo.. 2023. 7. 18.
[다트] 리스트 중복 제거 리스트에서 중복을 제거하는 방법이야 여러가지가 있겠지만, 아래 방법은 어떨까? toSet으로 중복을 제거하고, 다시 리스트로 바꿔주는 방법이다. List listSample = [1, 2, 2, 3, 4, 4, 23, 24, 324, 2353, 12, 1, 12]; main() { Set setSample = listSample.toSet(); print(setSample); // Console >> {1, 2, 3, 4, 23, 24, 324, 2353, 12} List setNewList = []; setNewList.addAll(setSample); print(setNewList); // Console >> [1, 2, 3, 4, 23, 24, 324, 2353, 12] print('newList\.. 2023. 7. 14.
[플러터] Map 정렬하기 아래와 같은 dblist Map이 있다고 하면, Mapint, Listdynamic>> dblist = {  0: [1, '가', 8, '나'],  1: [2, '마', 4, '바'],  2: [6, '자', 1, '치'],};  Map의 구성은 아래와 같다. print(dblist);//console >> {0: [1, 가, 8, 나], 1: [2, 마, 4, 바], 2: [6, 자, 1, 치]}  정렬을 위해 Key값을 리스트로 추출하는 방법은 아래와 같다. // 키 값을 리스트로 추출var sortedKeys = dblist.keys.toList(growable: false);print(sortedKeys);//console >> [0, 1, 2]  LinkedHashMap 사용을 위해서는 coll.. 2023. 7. 12.
[플러터] 구글 Sheets 를 DB로 사용해서 갤러리 만들기 #2 갤러리앱얼마전에 갤러리앱을 만들고 있다는 글을 썼었다.   [플러터] 구글 Sheets 를 DB로 사용해서 갤러리 만들기 #1플러터와 DB 이미지 갤러리라면, DB를 구성하고 이미지를 저장하고 관리하는 것이 여간 귀찮은 일이 아닐 것이다.(해본 적이 없어서 추정) 🤭🤭🤭🤭 Firebase로 youtube 리스트를 구성한 적이 있었sunnybong.tistory.com 이번엔 만드는 과정은 아니고, 만들다 보니 debug 모드에서는 아무 문제없지만, release모드에서는 구글Sheets에 호출한 데이터가 불러와지지 않는다. - release 모드인만큼 API키를 별도로 생성해야하는 줄 알고, SHA-1까지 생성은 했으나, 음... 입력할 곳이 없다.- playstore에 출고할 때처럼, 개발자 k.. 2023. 7. 12.
[플러터] .json theme 파일사용하기 main.dart 파일에서 패키지를 임포트 해준다.json_theme.dart는 외부 패키지이므로 pubspec.yaml 파일에 미리 등록을 해줘야 한다. import 'package:flutter/material.dart';import 'dart:convert'; // for jsonDecodeimport 'package:flutter/services.dart'; // for rootBundleimport 'package:json_theme/json_theme.dart'; // for theme decoder  assets 폴더안에 theme.json 파일을 저장해주고, 아래와 같이 불러온다. void main() async {  // 테마데이터 실행 _ from json_theme, asset  Wi.. 2023. 7. 11.
[플러터] widget : Wrap column / row 대신사용column 이나, row widget을 사용할 때, 내부 widget들의 사이즈가 screen size를 넘게 되면, 오류가 발생하는데, 대신 Wrap 위젯을 사용하면, 자동으로 하단으로 내려오게 된다.    기본적인 기능인 것 같은데, 딱히 쓸일이 있을지는 모르겠다. Center(  child: Wrap(    spacing: 10, // horizontal spacing    runSpacing: 10, // vertical spacing    children: [      textFieldWidget(),      textFieldWidget(),      textFieldWidget(),      textFieldWidget(),      textFieldWidge.. 2023. 7. 6.
[플러터] package : fluttertoast 생각보다 처리하기 귀찮은 toast sample을 미리 작성해둔다.    Toast 변수 선언, initState에서 초기화초기화를 해주고, 현재 context를 연결해준다. late FToast fToast;   void initState() {    super.initState();    fToast = FToast();    fToast.init(context);  }   toast 디자인 method구지 이럴필요가 있을까 싶지만, toast custom 디자인을 만들어 둘 수 있는게 더 낫겠지? _showToast() {    Widget toast = Container(      padding: const EdgeInsets.symmetric(horizontal: 24.0, vertical: 1.. 2023. 6. 26.