스루나루 2024. 4. 17. 21:19
728x90
728x90

 

파이어 베이스 

 - 구글이 제공하는 앱 개발 최적화 기능 제공 서비스 

 

파이어 스토어 

 - 파이어 베이스 기능 중 하나 

 - NoSQL 데이터 베이스 

 - 서버 인프라 관리를 알아서 해주니까 공수가 많이 줄어든다 

 - SDK를 활용하여 보다 직관적인 프로그래밍이 가능 

 - 다만 무료 사용량이 있고 그것보다 더 사용하면 결제가 필요

 - JSON 형식을 그대로 저장할 수 있음 

 

 

// 파이어 베이스 초기화 

  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

 

// 스케쥴 모델을 그대로 파이어베이스에 저장 

      await FirebaseFirestore.instance
          .collection(
        'schedule',
      )
          .doc(schedule.id)
          .set(schedule.toJson());

 

// 파이어 베이스에서 정보 가져오기 

           StreamBuilder<QuerySnapshot>(

              // ListView에 적용했던 같은 쿼리
              stream: FirebaseFirestore.instance
                  .collection(
                'schedule',
              )
                  .where(
                'date',
                isEqualTo:
                '${selectedDate.year}${selectedDate.month}${selectedDate.day}',
              )

 

// 가져온 데이터를 매핑하여 사용 

 final schedules = snapshot.data!.docs
                      .map(
                        (QueryDocumentSnapshot e) => ScheduleModel.fromJson(
                            json: (e.data() as Map<String, dynamic>)),
                      )
                      .toList();

 

이 글은 골든래빗 《Must Have 코드팩토리의 플러터 프로그래밍 2판》의 스터디 내용 입니다. 

 

728x90
728x90