반응형

Flutter 17

[flutter] git checkout & pull 오류

프로젝트 내에서 git checkout (branch) 또는 git pull origin (branch)을 했을 때 다음과 같은 오류를 만날 수 있습니다. error: Your local changes to the following files would be overwritten by checkout: lib/mypage/my_page.dart Please commit your changes or stash them before you switch branches. Aborting 에러 자체는 브랜치를 변경하기 전에 수정 사항을 커밋하거나 stash 해라고 하는 말이지만, 자신이 커밋하고자 하는 브랜치가 아닌데 커밋을 해야 하나 생각이 들 수 있습니다. 이런 때는 git stash 명령어를 사용하여 해결..

Flutter 2022.07.18

[flutter] W/System: Ignoring header X-Firebase-Locale because its value was null

W/System: Ignoring header X-Firebase-Locale because its value was null firebase와 연동한 프로젝트를 빌드하는 과정에서 다음과 같은 에러를 만날 수도 있습니다. 이러한 에러가 뜨는 데에는 다양한 원인이 있지만 보통은 에뮬레이터가 인터넷에 연결이 제대로 안되어 있는 경우가 많습니다 !! 프로젝트 상에서는 제대로 연결되어 있는 거처럼 보이고 또 빌드 과정에서도 문제가 없다고 생각할 수 있지만 에러가 계속해서 발생하게 된다면 에뮬레이터를 종료했다가 다시 연결해보면 정상적으로 동작할 수 있습니다 그 외에도 auth 과정에서 이메일/비밀번호를 로그인 경로로 설정하지 않았거나, manifest.xml 파일에 추가해야 할 항목들이 있으니 첨부된 사이트를 참..

Flutter 2022.07.18

[flutter] Firebase has not been correctly initialized

flutter 프로젝트와 firebase를 연동하는 과정에서 다음과 같은 에러를 만날 수 있습니다. Unhandled Exception: [core/not-initialized] Firebase has not been correctly initialized. Have you added the "google-services.json" file to the project? 이 에러를 해결하기 위해서는 firebase가 flutter 프로젝트에 제대로 연결되어 있는지 확인해줘야 합니다 !! 1) package.json파일이 app수준의 하위항목으로 제대로 들어갔는지 확인해줍니다. 2) app수준의 build.gradle에서 플러그인을 제대로 입력했는지 확인해줍니다. 3) 프로젝트 수준의 build.gradle..

Flutter 2022.07.13

[Flutter] Validation

서비스에 회원가입을 할 때 이메일과 비밀번호를 활용하여 가입을 하는 경우가 많은데, 정해진 양식에 따라 회원가입 절차를 진행하기 위한 Validation에 대해서 알아보겠습니다 !! 설치 1. 먼저 yaml 파일에 email_validator 패키지를 추가해줍니다. dependencies: email_validator: '^1.0.6' 2. pub get 버튼으로 패키지를 설치해줍니다. 3. 사용하고자 하는 dart 파일에 설치한 패키지를 import 해줍니다. import 'package:email_validator/email_validator.dart'; 사용 1. validation을 확인하기 위한 form 상태를 저장할 변수를 만들어줍니다. 2. 이메일과 비밀번호를 입력받을 변수를 String으로..

Flutter 2022.06.28

[Flutter] Date Picker & Time Picker

Key Points DateTime _selectedTime = DateTime.now() : 시간을 받아오기 위해서 _selectedTime이라는 변수를 초기화 해줍니다. ElevatedButton(style: ElevatedButton.styleFrom(primary: Colors.lightGreen) : 버튼 종류에 따라, 스타일을 넣어주는 방식이 다른데 ElevatedButton과 RaisedButton간의 차이가 있다. RaisedButton( color: Colors.red, // background textColor: Colors.red ) ElevatedButton( style: ElevatedButton.styleFrom( primary: Colors.red // bacground onP..

Flutter 2022.06.23

[Flutter] 타이머(Timer)

Key Points Timer 클래스 : 비동기 방식(요청을 보냈을 때 응답과 상관없이 다음 동작 수행가능). Timer 클래스는 앱을 종료할 때 동작을 취소해줘야 하기 때문에 dispose() 메소드가 꼭 필요합니다.. 아니면 백그라운드에서 계속해서 돌아갑니다. setState() : state에서 무언가 변화가 일어났음을 알려주는 함수. setState()를 통해서 UI가 변경될 수 있게 다시 build됩니다. 또한 StatefulWidget에서 상태 변경을 나타내기 위해 가장 많이 사용합니다. Map() : Map 함수는 iterable한 값을 가공하여, iterable로 반환하는 함수인데, forEach 함수는 단순 루프인것에 반해 Map함수는 반환 값이 존재합니다. import 'package:..

Flutter 2022.06.22

[Flutter] 비만도 테스트(BMI Test)

Key Points Validation의 활용 : 좀 더 복잡한 Validation은 package를 활용하여 설정할 수 있지만, 간단한 실습에서는 GlobalKey만 정의해줘도 Validation을 활용할 수 있습니다. TextFormField 값의 활용을 위한 TextEditingController : TextFormField 혹은 TextField 위젯에 입력된 값은 TextEditingController를 사용하면 좀 더 간편하게 활용할 수 있습니다. Dispose 메소드 : Controller에서 활용한 객체가 제거될 때 변수에 할당된 메모리를 해제하기 위해서는 꼭 dispose 메소드를 사용하여야 합니다. ( 한번의 BMI 테스트가 끝나면, 값이 초기화 되어서 Main으로 돌아옴) bmi_ma..

Flutter 2022.06.22
반응형