개발
-
Flutter - 코딩마스터하기|피드페이지도 파이어스토어에 연결하기2개발/Flutter 2021. 11. 22. 16:48
get followings from user model feed_screen에서 consumer와 streamprovider를 해줬던 부분에 이어서 그 값을 주는 home_page의 FeedScreen에도 Consumer로 감싸준다. builder: (BuildContext context, UserModelState userModelState, Widget child)을 생성해 주고 if문에 userModelState에서 null에 대한 부분을 지정해줘서 null이면 MyProgressIndicator를 보여주고 else 일때 FeedScreen()을 보여준다. 그리고 지난 강의에서 followings에서 대한 부분을 받았는데 FeedScreen(userModelState.userModel.followi..
-
Flutter - 코딩마스터하기|피드페이지도 파이어스토어에 연결하기개발/Flutter 2021. 11. 19. 00:23
fetch posts from specific user 해당 유저키를 가지고 Post에 그 유저키를 가지고 해당하는 글만 가져오게 해보자. 우선 post_network_repository 로 가서 Stream getPostsFromSpecificUser(String userKey)의 메소드를 만들어 준다. return Firestore.instance.collection(COLLECTION_POSTS)으로 Post 콜렉션으로 들어가고 .where()를 추가도 달아준다. where는 sql에서 where와 같이 ()안의 조건에 따라 검색하는 것이다. 우리는 팔로우하는 유저키에 따른 포스트를 가져오고 싶으므로 .where(KYE_USERSKEY, isEqualTo: userKey) 로 해주면된다. 그리고 ...
-
Flutter - 코딩마스터하기|파이어스토어를 통한 팔로/언팔로개발/Flutter 2021. 11. 17. 21:31
fetch all users except me 팔로우한 유저의 포스트를 봐야한다. 그래서 나를 제외한 유저를 불러오는 메소드를 만들 것이다. 일단 user_network_repository.dart에서 Stream으로 Firestore.instance를 통해 받아오는 코드를 만들어 준다. Stream getAllUsersWithoutMe(){ return Firestore.instance.collection(COLLECTION_USERS).snapshots().transform(toUsersExceptMe); } 이렇게 collection을 정해주고 snapshots를 하면 해당 콜렉션의 모든것을 다 불러온다. 거기서 toUsersExceptMe를 Transformers에 만들어 준다. 기존 toUser..
-
Flutter - 코딩마스터하기|사진 업로드,게시하기3 , storage에 저장한 Post의 데이터를 database에 저장하기개발/Flutter 2021. 11. 16. 21:10
create post model post도 모델을 생성하기 위해서 models - firestore 에 post_model.dart를 생성해준다. 그리고 user_model을 복사해와서 똑같이 만들어 주고 class 명을 PostModel로 바꿔준다. 그리고 상단에 상수들을 선언해 준다. final String postKey; final String userKey; final String username; final String postImg; final List numOfLikes; final String caption; final String lastCommentor; final String lastComment; final DateTime lastCommentTime; final int numOfC..
-
Flutter - 코딩마스터하기|사진 업로드,게시하기2개발/Flutter 2021. 11. 16. 21:09
horizontal scroll tags 여기서 태그들은 라이브러리를 사용할 것이다. pub.dev에서 flutter_tags를 사용해보자. 강의는 0.4.8+2이고 나는 최신 버전인 flutter_tags: ^0.4.9+1 를 사용하였다. 그리고 share_post_screen으로 가서 Tags()를 만들어 준다. 우리는 가로 스크롤이 되게 할 것이므로 horizontalScroll을 true로 해준다. 그리고 우선 여기에 사용할 List를 상단에 만들어 준다. List _tagItems로 []에 아무 단어 30개 정도를 넣어준다. 그리고 Tags에서 itemCount에 _tagItems.length를 해준다. 그리고 이 Tags의 높이 부분인 heightHorizontalScroll은 30으로 해준다..
-
Flutter - 코딩마스터하기|사진 업로드,게시하기1개발/Flutter 2021. 11. 15. 22:45
unique post key 만들기 firebase에 collection에 post와 uniqui한 키도 만들어 줄 것이다. 이미지는 firebase에 storage를 이용할 것이다. 우선 repo - helper 폴더에 generate_post_key.dart를 만들어 준다. 그리고 키를 가져오는 메소드를 만들어 주자. String getNewPostKey를 만들어주고 (UserModel userModel)을 받아온다. 그리고 파일이름 부분을 정해주는데 "${DateTime.now().millisecondsSinceEpoch}_${userModel.userKey}";로 만들어서 시간과 유저의 유니크 아이디로 조합해준다. String getNewPostKey(UserModel userModel)..
-
Flutter - 코딩마스터하기|Firebase Firestore 사용하기2개발/Flutter 2021. 11. 15. 16:59
how to cancel stream 해당 stream을 로그아웃시 취소를 해줘야 기존 로그인 유저의 데이터를 변경해도 변경이 안됨. 이작업을 해야함. 이를 위해서 main.dart에서 signin에 만들었던 부분을 메소드로 만들어 준다. _initUserModel이란 메소드로 만들어 주고 UserModelState userModelState = Provider.of(context, listen: false); 이렇게 먼저 생성해 준 다음 기존 userNetworkRepository 뒷부분을 userModelState.currentStreamSub = 에 넣어 준다. 그리고 listen의 부분을 userModelState.userModel = userModel; 이렇게 줄여준다. 그러면 userModel..
-
Flutter - 코딩마스터하기|Firebase Firestore 사용하기개발/Flutter 2021. 11. 11. 00:25
create firestore keys constants에 firestore_keys.dart 파일을 만들어 준다. 아래에 올려준 부분을 작성해준다. 여기서 COLLECTION은 firestroe에서 collection에 해당하는 부분이 될 것이고 KEY는 collection 안에 key value에서 key의 해당하는 부분이 될 것이다. 그외에 강의는 다 어떻게 이렇게 선택하게 된건지 만드는 과정임. const COLLECTION_POSTS = 'Posts'; //COLLECTION은 firestore 의 collection부분 const COLLECTION_USERS = 'Users'; const KEY_USERSKEY ='user_key'; //KEY는 field의 key 값들 const KEY_P..