텍스트필드가 입력을 받는 와중에 키보드가 이를 가리는 경우가 있다. 키보드가 이를 가리지 않도록 하는 방법은 아래와 같이 따라하면 된다. 공통 : Scaffold 위젯의 resizeToAvoidBottonInset 옵션을 true로 선언. (이게 디폴트이긴하다.) ENG :[ Sometimes, the keyboard can cover the text field while it is receiving input. To prevent the keyboard from obscuring the text field, you can follow the steps below: Common: Declare the resizeToAvoidBottomInset option of the Scaffold widget as ..
우리는 개발을 하다보면 계속해서 쓰는 코드 뭉치들이 생긴다. 보통은 아주 디테일한 단위의 경우 프로젝트에 common 패키지로 만들어서 보통 관리를 하고 여러 프로젝트에서 공유하는 큰 단위의 코드를 계속해서 만들어 내야하는 경우지만 기존 패키지에서 지원하지 않는 경우 VSCode에서 제공하는 스니펫을 활용하면 된다. 모바일 앱개발의 경우 StatelessWidget 이나 GetXController, GetMiddle 웨어 정도를 만들 때 보통 활용하곤 하면 된다. cmd+shift+p를 눌러서 Vscode 서치 옵션 키기 > snippets 검색 > 원하는 언어나 프로젝트 범위 클릭(저는 dart) > json 파일에 코드 복붙하고 줄마다 쌍따움표와 , 추가 후 저장하면 바로 사용할 수 있습니다. ENG..
생년월일을 찾는다거나 캘린더 가지고 무언가를 할 때 임의로 validator를 만들어야할 때가 있다. 입력한 숫자가 해당월을 넘는지 확인하고 싶다면 다음과 코드를 사용해라 ENG Sometimes, when you need to retrieve a person's birthdate or perform tasks involving a calendar, you may need to create a custom validator. If you want to check if a given number exceeds the number of days in a specific month, you can use the following code: DateTime(YYYY, month + 1, 0).day // 조건문..
유저들에게 어떠한 브랜드나 장소에 대한 상세정보를 제공하려고 하다보면 꼭 해야되는 것들이 있으니, 전화번호 연결과 링크이동이다. 아래처럼 하면 된다. ENG When providing detailed information to users about a brand or a location, there are certain essential actions that need to be included: connecting via phone call and navigating through a link. Here's how you can do it: launchUrl(Uri( scheme: 'tel', path: 'phone number',)); // 전화 걸기 launchUrl(Uri.parse('url'))..
아래처럼 하면 스트링에서 숫자만 빼올 수 있다. 코드를 깨끗하게 유지하기 위해서 왠만하면 공용함수로 만들어서 쓰는게 더 좋다. ENG The following approach allows you to extract only numbers from a string. It is advisable to create a reusable function whenever possible for better code organization and maintainability originalString = '123oct7'; // 과정 코드 numberString = originalString.replaceAll(new RegExp(r'[^0-9]'),''); // -> '1237' number = int.parse(..
자, 우리는 Tabbar로 화면을 구성하는 경우가 있습니다. 한 화면에서 여러가지 페이지를 네비게이션을 통한 전환 없이 보여주기 위해서 보통 사용합니다. Tab 페이지를 구성할 때 Tabbar & TabbarView 두가지를 구성하게 되는데, Tabbar는 Tabs와 하단부 indicator로 구성되어 있습니다. 하단부 인디케이터를 없애고, 텍스트로만 Tabbar를 구성하고 싶을 때 겪는 문제점이 있는데 바로 하단이 자꾸 가려지는 것이죠. Tabbar의 파라미터 설정을 아래처럼 하면 해결됩니다. indicatorWeight : 0.0000001 (0.0 이상이여야됨.) indicatorColor : Colors.transparent
앱개발을 하는 학생부터 실무자까지 프로젝트 마지막에야 부랴부랴 적용하는 것이 있으니, 그게 바로 애널리틱스 세팅 되시겠다. 여기서 애널리틱스란? 앱/웹의 특정 지점 혹은 세션에 측정 장치를 설치해두고, 유저들이 장치들을 지나가면 그걸 측정하는 것이다. 우리는 웹/앱 서비스 사용자 데이터를 기반으로 한 애널리틱스를 통해서 다양한 지표들을 얻을 수 있다. 유저의 사용데이터를 기록하지 않고, 내 앱을 어떻게 사용하고 있는지 알 수 있는가? 물론, 팀 내에서 내부테스팅을 하며 의견을 교류할 수 있고, 지인 정도까지는 써본 경험을 공유받을 수도 있다. 그럼, 유저들의 사용경험은 어떻게 공유받을 것인가? 그러는 나는 앱 리뷰를 달아본 적이 몇번이나 있는가? 유저들의 리뷰 표본은 실제 사용자들보다 턱없이 적다. 리뷰..
GestureDetector란? 이름에서 알 수 있듯이, GestureDetector는 제스쳐를 총 컨트롤하는 위젯이다. 위젯의 Child가 무엇이든 사용자와 상호작용할 수 있도록 해주는데, 상호작용이 많은 내 코드를 깔끔하게 만들어주는 주역이다. 일부기능만을 사용하는 Inkwell/IconButton 위젯 등도 존재하는데, 이렇게 파생된 경우 상호작용 가능한 지표(드래그/탭 등)는 제한적이나 스플래쉬/하이라이트 컬러 등이 있는 등 적절히 사용한다면 프로그램을 맛있게 만들 수 있는 애니메이션 요소들이 포함되어있다. 하지만, 기본 애니메이션이 필요치 않은 경우 메모리 누수나 코드의 일관성 측면에서 왠만하면 GestureDetector를 사용한다. GestureDetector에서 제공하는 기능 제공하는 기능..