일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- StringUtils.isEmpty
- Flutter
- VerticalMultiDragGestureRecognizer
- carousel slider
- allowBackup
- 플루터
- 안보내짐
- 크롬개발자도구
- Set ID
- 앱
- 입력 커서
- TextFormField
- Chrome Developer Tools
- 두 수의 나눗셈
- 안드로이드
- foreground
- 웹뷰
- 플러터
- runSpacing
- gestureRecognizers
- StringUtils.isBlank
- Flutter SDK
- not working
- 프로그래머스
- 에러
- freezed
- project flow
- fullBackupContent
- Could not create service of type FileAccessTimeJournal using
- TCP/IP모델
- Today
- Total
목록Flutter (12)
흰오목눈이야 개발하자

슬라이더 이미지 위젯 아래에 위와 같은 Indicator(인디케이터)를 구현하려고 한다 # 구현 결과 Row( mainAxisAlignment: MainAxisAlignment.center, children: imageUrls.asMap().entries.map((entry) { return Container( width: 8, height: 8, margin: const EdgeInsets.symmetric(vertical: 2, horizontal: 2), decoration: BoxDecoration( shape: BoxShape.circle, ..

문제 이름을 입력하는 경우 10자까지 입력이 가능하도록 maxLength를 통해 제한하고 싶었는데 숫자만 해당하고 한국어의 경우 적용이 되지 않았다. TextFormField( maxLength: 10, 원인 한국어와 같이 몇몇 언어는 글자 단위가 영어와는 다르게 처리될 수 있으므로, maxLength 속성이 정확히 동작하지 않는 경우가 있다고 한다. 이 경우 한국어 글자 수를 정확하게 제한하려면 TextEditingController를 사용하여 직접 제어해야 한다. 해결 TextEditingController를 사용하여 입력된 텍스트의 길이를 실시간으로 체크하도록 해준다. onChaged를 통해 입력하는 동안 글자수를 확인하도록 하고 10자를 초과하는 경우 입력을 제한한다. TextField( cont..

문제 QA 팀원 중 한 분만 안드로이드 앱을 삭제하고 새로운 버전을 다운하면 앱이 작동되지 않는 에러가 발생했다. 캐시 문제일까 싶어 조사해 봤다. 원인 안드로이드의 경우 사용자의 데이터를 구글 드라이브에 자동으로 백업하는 기능이 있었다. 해당 어플은 보안을 위해 flutter secure storage를 사용하고 있었기 때문에 데이터가 자동 저장되면 충돌하거나 예외가 발생할 가능성도 높았다. 앱의 자동 백업은 Android 6.0(API 수준 23) 이상에서 타겟팅하거나 실행되는 앱의 사용자 데이터를 자동으로 백업합니다. Android는 앱 데이터를 사용자의 Google Drive에 업로드하여 보존하며, 이곳의 앱 데이터는 사용자의 Google 계정 사용자 인증 정보에 따라 보호됩니다. 백업은 Andr..

VSCode(비주얼 스튜디오 코드)에서 "fileName.code-snippets" 형식으로 코드 Snippet(스니펫)을 정의하는 것이 가능하다.여기서 Snippet(스니펫)이란?: 재사용이 가능한 코드로 반복 입력을 피할 수 있도록 도와주는 것을 말한다. 템플릿으로 만들었다고 보면 된다.이 스니펫을 활용하여 Freezed를 사용한 모델을 자동 생성할 수 있도록 만들어주려고 한다.순서1. vscode 폴더 안에 freezed.code-snippets 파일을 생성한다.2. 아래 코드를 사용한다.{ "Generate freezed class": { "prefix": "freezed", "body": [ "import 'package:freezed_annot..
문제 리스트가 아이템이 많은 경우 다음 행으로 넘어가도록 Wrap으로 감싸주었다. 그런데 두 번째 줄부터 맨 왼쪽을 기준으로 정렬이 안 되는 문제가 발생했다. 기존 코드 Wrap( children: [ /// 리스트 정렬 코드 /// 길면 두 줄로 넘어감 ], ); 해결 spacing과 runSpacing을 설정해 주니 해결되었다. - spacing : 요소의 가로 간격을 설정함 - runSpacing : 요소의 세로 간격을 설정함 변경한 코드 Wrap( spacing: 8, runSpacing: 8, children: [ /// 리스트 정렬 코드 /// 길면 두 줄로 넘어감 ], );
Device States (디바이스 상태) Device States (디바이스 상태)는 3가지로 분류할 수 있다. - Background(백그라운드) : 앱은 실행되고 있지만 보이지 않는 상태에서 실행되는 것이다. 예를 들면 A 앱을 켜놓고 B 앱으로 이동할 경우 A앱은 보이지 않는 상태라 백그라운드 상태라고 볼 수 있다. - Foreground(포어그라운드) : 앱을 열어서 사용자 눈에 보이고 사용할 수 있는 상태를 의미한다. - Terminated : 디바이스가 잠겨져 있거나 실행되고 있지 않은 상태를 의미한다. Authorization Status (권한 부여 상태) - authorized(인증된) : 유저가 권한을 허가한 상태를 의미한다. - denied (거부한) : 유저가 권한에 관하여 허가를..
문제 Flutter Amplitude SDK를 구현했다. 테스트용 로그(예. Logger)는 확인이 가능해 이벤트를 성공적으로 보낸다고 생각했는데 실제 Amplitude 도구에서는 이벤트 송신이 안되었다. - 테스트 대상 OS : Android - Amplitude SDK (Flutter) 공식 사이트 : https://www.docs.developers.amplitude.com/data/sdks/flutter/ 원인 안드로이드의 경우 App set ID가 필수였다. 사용자의 개인 정보를 보호하기 위한 대안으로 설정한 것으로 이를 설정하지 않으면 Amplitude 이벤트를 송신할 수 없다. App set ID is a unique identifier for each app install on a devi..
자바를 공부하고 안드로이드에서 코딩할 때는 변할 수 없는 값(=재할당 할 수 없는 값)을 설정할 때 대체로 final을 사용했습니다. 다트라는 언어를 배우고 플러터 코딩을 할 때는 final만 있는 게 아니라 const도 있어서 둘 다 사용이 가능했는데 이 차이를 몰라 정리를 해보려 합니다. 변하지 않는 값을 지정할 때 아래와 같이 사용할 수 있습니다. const String nameConst = "Shu"; final String nameFinal = "Shu"; 공통점은 한 번 지정하면 값을 변경할 수 없습니다. (= 재할당 불가) 예) const String nameConst = "Shu"; final String nameFinal = "Shu"; nameConst = "Shua"; // error..