[flutter] - Flutter에서 데이터베이스 연동 방법

앱 개발에서 데이터베이스는 중요한 요소입니다. 데이터베이스를 효율적으로 연동하기 위해서는 적절한 방법을 사용해야 합니다. Flutter에서는 다양한 데이터베이스 연동 방법을 제공하고 있습니다. 이번 포스트에서는 Flutter에서 데이터베이스를 어떻게 연동할 수 있는지 알아보겠습니다.

1. sqflite 패키지 사용하기

Flutter에서 가장 많이 사용되는 데이터베이스 연동 방법은 sqflite 패키지를 사용하는 것입니다. sqflite 패키지는 SQLite 데이터베이스를 사용할 수 있도록 도와줍니다.

// sqflite 패키지 가져오기
import 'package:sqflite/sqflite.dart';
import 'package:path/path.dart';

// 데이터베이스 연결 함수
Future<Database> openDatabase() async {
  // 앱의 디렉토리에 데이터베이스 파일 생성
  String databasesPath = await getDatabasesPath();
  String path = join(databasesPath, 'my_database.db');

  // 데이터베이스 열기
  Database database = await openDatabase(path, version: 1,
      onCreate: (Database db, int version) async {
        // 테이블 생성 쿼리 실행
        await db.execute('''
          CREATE TABLE IF NOT EXISTS users (
            id INTEGER PRIMARY KEY,
            name TEXT,
            age INTEGER
          )
        ''');
      });

  return database;
}

void main() async {
  // 데이터베이스 연결
  Database database = await openDatabase();

  // 데이터 쿼리 및 조작
  List<Map> users = await database.query('users');
  print(users);

  // 데이터베이스 닫기
  await database.close();
}

2. firebase_database 패키지 사용하기

Firebase는 Google에서 제공하는 실시간 데이터베이스입니다. Flutter에서 Firebase 데이터베이스를 연동하기 위해서는 firebase_database 패키지를 사용할 수 있습니다.

// firebase_database 패키지 가져오기
import 'package:firebase_database/firebase_database.dart';

void main() {
  // Firebase 앱 초기화
  FirebaseDatabase database = FirebaseDatabase.instance;

  // 데이터 쿼리 및 조작
  DatabaseReference ref = database.reference().child('users');
  ref.once().then((DataSnapshot snapshot) {
    print(snapshot.value);
  });
}

3. http 패키지를 사용하여 REST API 연동하기

때로는 데이터베이스 대신 REST API를 통해 데이터를 가져와야 할 수도 있습니다. Flutter에서 데이터베이스 대신 REST API를 연동하려면 http 패키지를 사용할 수 있습니다.

// http 패키지 가져오기
import 'package:http/http.dart' as http;

void main() async {
  // REST API 호출
  http.Response response = await http.get('https://api.example.com/users');

  // 응답 처리
  if (response.statusCode == 200) {
    print(response.body);
  } else {
    print('Failed to fetch data: ${response.statusCode}');
  }
}

결론

Flutter에서 데이터베이스를 연동하는 방법은 다양합니다. sqflite, firebase_database, http 패키지 등을 사용하여 데이터를 효율적으로 가져오고 조작할 수 있습니다. 앱에 맞는 데이터베이스 연동 방법을 선택하여 개발하면 좋습니다.

References