728x90
반응형
오늘의 목표
- flutter 백과 연결하여 로그인 시도, 회원가입 user insert
수행한 작업
- login dio 객체로 백과 통신하여 로그인하기
- 회원가입화면에서 객체 만들어서 insert하기
문제 및 해결 방법
문제:
- api baseUrl이 제대로 인식되지 않아서 문제가되었다 .
해결 방법:
- 어떤 애뮬레이터를 사용하느냐에 따라서 다른 네트워크 주소가 필요하므로, 어떤 기기에 맞는 baseuril 을 맞추어 사용해야한다.
성과 및 배운 점
- 로그인이나 회원가입에 필요한 textEditingcontroller를 class에 담아서 사용하면 여러곳에서 불러서 사용할 수 있어서 상태관리하기 편하였다.
하지만 로그인 페이지는 한 페이지에서 연결되어있으므로 최상위에서 컨트롤러를 하위로 전달해줘야 하지만, 회원가입 페이지는 여러 페이지를 통해서 전달하므로, 상위에서 하위로 내려줄 필요없이 사용될 수 있다는 점이다. - Global Formkey는 여러곳에서 생성되면 오류가 발생함 , GlobalKey 는 form 위젯의 상태를 전역적으로 관리하고 조작하는 것이므로, 하나의 key만 선언될 수 있다 , formState에 직접 적은하여 폼의 유효성 검사, 데이터 초기화, 값 확인등의 작업을 수행할 수 있다는 점이다.
form 을 사용하지 않으면 fromkey를 사용할 필요가 없다
그렇기 때문에 GlobalKey는 한곳에서만 생성할 수 있고 아래로 내려줘야한다.
예를 들어, formKey.currentState를 사용해 Form 위젯에 연결된 상태를 가져옵니다.
if (formKey.currentState?.validate() ?? false) {
print('Form is valid');
}
폼 유효성 검사:
Form 내부의 TextFormField나 기타 입력 필드의 validator를 호출하여 입력값의 유효성을 검사할 수 있습니다.
if (formKey.currentState?.validate() ?? false) {
print('Form is valid');
} else {
print('Form is invalid');
}
폼 제출 처리:
formKey.currentState?.save()를 호출하면 모든 입력 필드의 onSaved 콜백이 실행됩니다.
formKey.currentState?.save();
폼 초기화 및 재설정:
formKey.currentState?.reset()을 호출하면 폼 필드가 초기 상태로 돌아갑니다.
formKey.currentState?.reset();
위젯 간 전역 상태 공유:
GlobalKey는 위젯 트리 내에서 FormState를 공유하거나 유지할 때 유용합니다. 이를 통해 특정 조건에서 폼 데이터를 조작할 수 있습니다.
참고
https://developer.android.com/studio/run/emulator-networking?hl=ko
[Android Emulator 네트워킹 설정 | Android Studio | Android Developers
에뮬레이터는 앱에 복잡한 모델링 및 테스트 환경을 설정하는 데 사용할 수 있는 다목적 네트워킹 기능을 제공합니다.
developer.android.com](https://developer.android.com/studio/run/emulator-networking?hl=ko)
728x90
반응형
'개발일지' 카테고리의 다른 글
[flutter 프로젝트] 개발일지 02 (0) | 2025.01.22 |
---|---|
[flutter 프로젝트] 개발일지 01 - 화면구현(나의설정) (0) | 2025.01.21 |
[Flutter 프로젝트] 개발일지00 (0) | 2025.01.19 |
댓글