목록전체 글 (364)
seong
이전 단계에서 main에 Firebase 초기화 코드까지 작성했다면 아래 작업을 진행. https://seong9566.tistory.com/317 1. Flutter Web 프로젝트 Firebase + Google OAuth 연결하기 1단계 1. FireBase 에서 프로젝트 생성 이후 Console에서 "" 웹 표시 클릭 2. 앱 닉네임 작성 및, SDK 발급받기 위에서 앱 닉네임을 입력 후 "앱 등록" 을 누르면 SDK를 발급 받는다. 아래 정보는 나중에 필요하므 seong9566.tistory.com 1. FireBase의 콘솔에서 Authentication 클릭 2. 시작하기를 누르고, Google, 이메일/비밀번호를 활성화 시켜준다 사용 설정을 on으로 바꿔주고 프로젝트 지원 이메일을 입력해준..
1. FireBase 에서 프로젝트 생성 이후 Console에서 "" 웹 표시 클릭 2. 앱 닉네임 작성 및, SDK 발급받기 위에서 앱 닉네임을 입력 후 "앱 등록" 을 누르면 SDK를 발급 받는다. 아래 정보는 나중에 필요하므로 캡처해두거나 가지고 있기. 3. vsCode에서 터미널을 켜고 "npm install firebase"을 입력 4. 프로젝트의 "web -> index.html"에 들어가서 SDK 정보를 추가해준다. 이때 위치는 의 가장 아래 부분에 추가해준다. (기존의 script에 추가가 아닌 새로운 script를 추가하는것이다. 헷갈리지 말기) 5.pubspec.yaml에 연결에 필요한 종속성 모두 추가 6. 프로젝트의 main 메서드에 Firebase 초기화 코드 작성
이유 아래 SingChildScrollView -> Column -> Expanded -> ListView 트리로 작성 하니 에러가 나왔다. Expanded는 고정된 위젯이 배치 된 이후 나머지 공간을 모두 차지하게되는 가변적인 위젯이다. ListView는 내가 내부 요소로 크기를 지정해주지 않았기 때문에 높이가 무한대가 될수도 있고, 높이가 0 이 될수도 있다 Expanded + ListView 가 되버리니.. 높이 제약을 주지 않아 에러가 발생한 것 같다. 해결 Expanded를 지워주고 ListView의 높이를 주기 위해서 shrinkWrap를 true로 바꾸어주었다. 이는 높이를 자식요소들의 크기의 합만큼 고정적으로 할당 해준다.
ReorderableListView ListView에서 순서를 필요에 따라 마음대로 재배치 할 수 있는 위젯이다. 기본적으로 View가 실시간으로 움직이는게 눈에 보이므로 StatefulWidget이 되어야한다. 이 위젯은 Key와, onReorder는 꼭 넣어주어야한다. 1. List 생성 2.ReorderableListView위젯을 만들어준다. key값도 필요한데 이는 자식들의 Value값을 식별하기 위해서(?) 필요하다. onReorder에는 oldIndex와, newIndex가 필요한데 그 이유는 재배치 하는 방식이 oldIndex를 없애고, newIndex를 추가 하는 것 이기 때문이다. 3. onReorder에서 사용할 함수 만들기 아래에서 모두 중요하지만 newIndex--;를 해준 이유 -..
문제 Response 와 GetX를 같이 사용 하려 했다. GetX 하위에도 Response가 있다면서 충돌이 발생했다. 해결 import 하는 부분에서 hide Response를 해주면 GetX 라이브러리에서 Response를 숨기게 되어 충돌이 발생하지 않는다!
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값을 확인해보니 성공을 ..