- 파이어베이스를 연동한 CRUD 기능 개발
- 검색 기능 개발
- 구글 애드몹 연동
- 배포
오늘은 어제에 이어서 메모 앱을 실제로 개발하고 배포해보는 시간을 가졌다. 라이브러리의 파일 목록을 보며 각 파일의 내용과 역할을, 대표적인 기능 몇 가지만 소개한다.
컨트롤러에 의존성을 주입 하면 지정한 함수가 호출된다.
이때 데이터베이스에 접근하기 위한 collection 이름(=memo)를 수집한다.
memocollectionref.get 으로 메모 목록을 가져온다.
이후 맵에 집어넣어서 리스트 형태로 반환(tolist)한다.
-> addFeed 함수는 필요 없음
factory 함수를 이용해서 특정 타입으로 반환했기 때문에 reload()에 바로 loadAllMemos()를 넣어 사용하면 된다.
수정을 통해 접근한 콘텐츠를 MemoWritecontroller에서 따로 받아준다.
save 함수에서 수정한 피드의 아이디를 수집하고, 파이어스토어의 DB에 일치하는 id가 있으면 해당 내용을 업데이트한다. 삭제도 비슷한 매커니즘으로 이루어진다.
메인 함수와 빌드 함수를 정의하는 파일이다.
생성한 메모 목록을 홈 화면에 보여주기 위해 필요한 함수들을 정의해둔 컨트롤러이다. 이 파일에서 검색 기능을 구현한다.
메모를 작성하는 화면의 UI를 구성하는 파일과 그 때 필요한 이벤트를 일으키는 함수들을 정의해둔 컨트롤러이다. 이 페이지에서 메모를 작성, 열람, 수정, 삭제한다.
파이어베이스와 정보를 주고받을 수 있도록 오가는 각 메모 개체의 데이터를 형변환하는 파일이다. 파이어베이스의 timestamp
필드를 가져오는 과정에서 오류가 있었다.
메모의 생성 시간을 표기할 때 표기 방식을 포맷팅해주는 유틸 함수를 선언한 파일이다.
애드몹에서 연결한 광고
를 띄우는 하단 배너를 생성하는 파일인데, 지금 보니까 제목에 오타가 있다. 여기에서 구성한 배너는 home.dart 파일에서 bottomNavigationBar를 이용하여 홈 화면에 배치해주었다.
앱 출시 전에 준비할 사항은 다음과 같다.