[flutter] 플러터로 Firebase Storage에 있는 파일 목록을 가져오는 방법

Firebase는 앱을 위한 다양한 클라우드 서비스를 제공합니다. Firebase Storage는 사용자 파일을 저장하고 가져오는 데 사용됩니다. 이 기사에서는 플러터(Flutter) 앱에서 Firebase Storage에 있는 파일 목록을 가져오는 방법에 대해 설명하겠습니다.

Firebase Storage에 연결하기

먼저, firebase_storage 패키지를 플러터 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음 코드를 추가하고 패키지를 가져옵니다.

dependencies:
  flutter:
    sdk: flutter
  firebase_storage: ^8.3.0

그런 다음, Firebase 프로젝트에 연결하고 FirebaseStorage 인스턴스를 만들어야 합니다. Firebase Storage를 사용하려면 Firebase 프로젝트에 Storage가 설정되어 있어야 합니다.

파일 목록 가져오기

이제 FirebaseStorage 인스턴스를 사용하여 Firebase Storage에 있는 파일 목록을 가져올 수 있습니다. 다음은 간단한 예제 코드입니다.

import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/material.dart';

class StorageListScreen extends StatefulWidget {
  @override
  _StorageListScreenState createState() => _StorageListScreenState();
}

class _StorageListScreenState extends State<StorageListScreen> {
  final FirebaseStorage _storage =
      FirebaseStorage.instanceFor(bucket: 'your_firebase_storage_bucket');
  List<String> _files = [];

  @override
  void initState() {
    super.initState();
    _getFilesList();
  }

  Future<void> _getFilesList() async {
    ListResult result = await _storage.ref().listAll();
    result.items.forEach((Reference ref) {
      _files.add(ref.fullPath);
    });
    setState(() {
      // Update UI with file list
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Storage File List'),
      ),
      body: ListView.builder(
        itemCount: _files.length,
        itemBuilder: (context, index) {
          return ListTile(
            title: Text(_files[index]),
            // Handle file tap
          );
        },
      ),
    );
  }
}

위의 예제 코드는 Firebase Storage에서 파일 목록을 가져와 ListView에 표시하는 간단한 플러터 화면을 보여줍니다.

마무리

이제 플러터 앱에서 Firebase Storage에 있는 파일 목록을 가져오는 방법에 대해 알아보았습니다. Firebase Storage를 사용하여 사용자 파일을 효과적으로 관리할 수 있습니다. 여기서는 단순히 파일 목록을 가져오는 방법에 대해 다뤘지만, Firebase Storage에 파일을 업로드하거나 다운로드하는 방법에 대해서도 알아보실 수 있습니다.

더 자세한 정보는 Firebase Storage 문서를 참고하시기 바랍니다.