목록Flutter/dot (6)
seong

TODO 만들던 도중 아레 처럼 List부분에서 에러가 발생했다. RangeError (index): Index out of range: no indices are valid: 1 원인 build 코드에서 이미 model이 null이면 CircularProgressIndicator()를 띄워주게 되어있다. 근데도 RangeError에러가 발생했다. 그리고 View에서도 AppBar까지는 build가 되는것을 보니 그 이후 코드가 문제였다. 문제가 발생한 부분 List선언 코드 아래 코드에서는 widgetModelList는 빈 List로 초기화 되어있다. 그런데 [index]를 사용하여 widgetData에 저장을 하려 하니 에러가 발생했다. 해결 for문으로 List에 데이터를 추가하니, 추가 한 이후..

TODO * Custom AppBar 만들기 만들기 전 알아둘 사항 appBar는 Material에서 제공한다. scaffold 하위 위젯으로 사용을 할 수 있다. CustomAppBar를 만들기 위해서 PreferSizeWidget을 상속 받아 사용한다( 이 부분이 없으면 Custom을 할 수 없었다. ) 1. appBar에 CustomAppBar() 호출 2.PreferredSizeWidget 상속 Size가 필요하므로 아래 처럼 Size를 선언해 주어야한다. 3. 이제 필요한 위젯들을 작성해주기만 하면 된다. Search-Bar를 만드는 부분만 기록 SizedBox를 사용한 이유 : TextField를 사용할때 width를 설정해주지 않으면 가로가 무한대로 늘어나는 에러가 발생해서 SizedBox를..

TODO 1. UI에 Get 요청 버튼 생성 2. 버튼 클릭시 서버에 API Get 요청 2번을 진행 시 주의 사항 - Controller -> Service -> HttpConnector 요청 순으로 진행 - 서버에서 전달 받은 데이터 타입에 맞게 Dto 생성 - 요청 시 유저의 권한 체크(Token, userID) - API 주소 확인 1. UI에 Get 요청 버튼 생성 2. 서버 API 요청 1. 먼저 접근할 Provider를 선언하고 widgetGet함수를 호출한다. Controller 작성 Get요청 시 사용자가 맞는지 권한이 필요해 userName을 파라미터로 받아주었다. Service 작성 전달 받은 userName은 API에서 주소값의 쿼리 스트링으로 받는다. HttpConnector 작성..

TODO 1. 서버와 통신에 필요한 데이터 가공 2. Insert 완료 3. Get 요청 후 화면 View까지 띄워보기 현재 진행 상태 - 서버에 필요한 데이터를 만들기 위해 Riverpod 를 사용해 일부분만 만들어짐. - 서버와 통신을 위한 세팅 완료 http_connector의 post 함수에 JwtToken 넣기 현재 웹에서 JwtToken을 받아내지 못하고 있는 상황을 해결 하는 것은 후순위로 해둔 상태라, 임의로 넣어주었다. 이때 JwtToken의 "Bearer" 부분은 원래 직접 가공 하려 했지만, 서버에서 해주어서 모두다 넣었다. 그리고 Key-value 형식이기 때문에 Key값인 Access-Token도 맞추어 주어야했다. - 서버에 데이터 전달 후 response값을 확인해보니 성공을 ..

1. 백그라운드 gif이미지 2. Modal창으로 로그인 폼 구현 방식 - initState로 한번 호출 된 이후 변경이 되지 않도록 함 - 위젯의 생명주기를 활용, build가 끝나는 시점에 addPostFrameCallback함수를 호출해 _loginForm을 호출 - barrierDismissible를 false로 주어 modal이 닫히지 않도록 함 @override void initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { loginForm(); }); } void loginForm() { showDialog( context: context, barrierDismissible: false, buil..
Flutter에서 서버와 통신을 위해 http connector 생성 1. provider로 접근 하도록 만들기 final httpConnector = Provider((ref) { return HttpConnector(); }); 2. 싱글톤 객체 관리 //single static final HttpConnector _instance = HttpConnector._single(); HttpConnector._single(); factory HttpConnector() { Logger().d("HttpConnector 생성"); return _instance; } 3. Get,Post,Put,Delete 생성 - 요청의 header에 토큰을 가지고 인증을 한다. //get Future get(String..