본문 바로가기
WIKI 기술 지식 베이스

Turso 퀵스타트

원문 보기 위키 갱신

Turso 퀵스타트 (Android)

libSQL 클라이언트를 쓰면 Android 앱에서도 몇 단계 만에 Turso와 연결할 수 있어요. 이 퀵스타트는 자격 증명 확인부터 Gradle 의존성 추가, 연결, 쿼리 실행, 선택적인 로컬 동기화까지 차례대로 안내해요.

출처: 문서

본문

이 기능은 기술 프리뷰(technical preview) 상태예요.

참고: 지금은 Android Gradle Plugin에서만 동작해요. 완전한 Kotlin 지원이 곧 제공될 예정이에요.

이 Kotlin 퀵스타트에서 배울 내용은 다음과 같아요:

  • 데이터베이스 자격 증명(credential) 가져오기
  • Android Gradle 프로젝트에 libSQL 의존성 추가하기
  • 로컬 또는 원격 Turso 데이터베이스에 연결하기
  • SQL로 쿼리 실행하기
  • 로컬 데이터베이스에 변경 사항 동기화하기 (선택)

단계별 진행

1. 데이터베이스 자격 증명 가져오기

계속하려면 기존 데이터베이스가 필요해요. 없다면 먼저 데이터베이스를 만들어 주세요. 데이터베이스 URL과 인증 토큰을 확보하세요.

경고: 모바일 앱에는 비밀 값을 안전하게 보관하세요. 인증 토큰을 앱 바이너리에 그대로 두면 누구나 추출할 수 있으니, 서버 측 프록시나 보안 저장소를 활용하는 편이 좋아요.

2. 설치

Gradle에서 libsql을 implementation 의존성으로 추가해요.

참고: 지금은 Android Gradle Plugin에서만 동작해요.

dependencies {
    implementation("tech.turso.libsql:libsql:0.1.0")
}

3. 연결

먼저 Database 객체를 만들고, 그다음 Connection을 열어야 해요. 연결 방식은 상황에 맞게 고르면 돼요.

Embedded Replicas (임베디드 레플리카)

import tech.turso.libsql.Libsql

val db = Libsql.open(
    path = "./local.db",
    url = "TURSO_DATABASE_URL",
    authToken = "TURSO_AUTH_TOKEN",
)

val conn = db.connect()

Local only (로컬 전용)

import tech.turso.libsql.Libsql

val db = Libsql.open(path = "./local.db")
val conn = db.connect()

Remote only (원격 전용)

import tech.turso.libsql.Libsql

val db = Libsql.open(
    url = "TURSO_DATABASE_URL",
    authToken = "TURSO_AUTH_TOKEN",
)

val conn = db.connect()

4. 실행

기존 데이터베이스에 대해 SQL 쿼리를 실행하려면 execute()를 호출해요.

db.connect().use {
    it.execute("INSERT INTO users (id) VALUES (1)")
}

값에 플레이스홀더를 쓰고 싶다면 아래처럼 하면 돼요.

db.connect().use {
    it.query("SELECT * FROM users WHERE id = ?", 1)
}
db.connect().use {
    it.query("INSERT INTO users (name) VALUES (:name)", mapOf(":name" to "Iku"))
}

5. 동기화 (Embedded Replicas 전용)

임베디드 레플리카를 사용할 때는 데이터베이스 객체에서 sync()를 호출해 로컬 데이터베이스를 기본(primary) 데이터베이스와 동기화해야 해요. syncInterval을 쓰는 경우가 아니라면요(물론 syncInterval이 켜져 있어도 sync를 호출해도 문제는 없어요).

db.sync()

더 알아보기 (Learn more)