در این آموزش سریع، شما یک پایگاه داده نمونه کوچک ایجاد و مستقر خواهید کرد و از طریق یک برنامه اندروید به آن دسترسی خواهید داشت.
پیشنیازها
برای تکمیل این راهنمای سریع، به موارد زیر نیاز دارید:
- محیطی با ابزارهای نصب شده زیر:
- نسخه جدید اندروید استودیو .
- رابط خط فرمان فایربیس . اگر NPM را نصب کردهاید، دستور زیر را اجرا کنید:
در غیر این صورت، برای دستورالعملهای نصب به مستندات مراجعه کنید.npm install -g firebase-tools@latest
- یک حساب گوگل.
آموزش
| آموزش | |
|---|---|
۱. یک پروژه جدید اندروید استودیو ایجاد کنیددر اندروید استودیو، یک پروژه جدید با الگوی Empty Activity ایجاد کنید. نام پروژه را Quickstart App و نام بسته را com.example.quickstartapp قرار دهید. | ![]() |
۲. فایربیس را به پروژه اندروید استودیو خود اضافه کنید وابستگیهای Firebase و افزونهی سریالسازی Kotlin را به فایلهای | QuickstartApp/build.gradle.ktsplugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.compose) apply false // Add this line. id("com.google.gms.google-services") version "4.4.4" apply false } plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.compose) // Add these lines. kotlin("plugin.serialization") version libs.versions.kotlin id("com.google.gms.google-services") } // ... dependencies { // ... // Add these lines. implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.11.0") implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.11.0") implementation(platform("com.google.firebase:firebase-bom:34.14.0")) implementation("com.google.firebase:firebase-dataconnect") } |
۳. راهاندازی اولیه یک پروژه Firebaseبه دایرکتوری پروژه اندروید استودیو بروید و یک پروژه Firebase را در آن راهاندازی کنید. | cd ~/QuickstartAppfirebase login --reauthfirebase init dataconnectوقتی از شما خواسته شد، گزینههای زیر را انتخاب کنید:
مقادیر پیشفرض را برای سایر درخواستها بپذیرید. در مرحله بعد، برنامه اندروید خود را در پروژه Firebase خود ثبت کنید. firebase apps:create -a com.example.quickstartapp android android-quickstartfirebase apps:sdkconfig android -o app/google-services.json |
۴. مثالهای تعاریف GraphQL را مرور کنیددر SQL Connect ، شما تمام طرحها و عملیات پایگاه داده خود را با استفاده از GraphQL تعریف میکنید. وقتی پروژه خود را مقداردهی اولیه کردید، Firebase CLI چند نمونه تعریف برای شروع کار شما ایجاد کرد. | dataconnect/schema/schema.gql (گزیده)type Movie @table { title: String! imageUrl: String! genre: String } type MovieMetadata @table { movie: Movie! @unique rating: Float releaseYear: Int description: String } query ListMovies @auth(level: PUBLIC) { movies { id title imageUrl genre } } |
۵. طرحها و عملیات خود را مستقر کنیدهر زمان که تغییراتی در طرحوارهها، پرسوجوها یا جهشهای پایگاه داده خود ایجاد میکنید، باید آنها را مستقر کنید تا تغییرات شما روی پایگاه داده اعمال شوند. | |
۶. پایگاه داده را با دادههای نمونه پر کنیداین دادههای اولیه به شما امکان میدهد هنگام آزمایش برنامه نمونه، آنها را بررسی کنید. توجه داشته باشید که در این مرحله، شما GraphQL دلخواه را اجرا میکنید که برای وظایف مدیریتی مجاز است. | |
۷. یک SDK کلاینت اندروید ایجاد کنیداین دستور از تعاریف GraphQL شما برای تولید یک SDK کلاینت اندروید مخصوص پایگاه داده شما استفاده میکند. شما از این کتابخانه در برنامه کلاینت خود برای انجام تمام عملیات پایگاه داده استفاده میکنید. شما میتوانید با اضافه کردن تعاریف به | public interface ExampleConnector : GeneratedConnector<ExampleConnector> { override val dataConnect: com.google.firebase.dataconnect.FirebaseDataConnect public val listMovies: ListMoviesQuery // ... } |
۸. یک کلاینت اندروید نمونه بنویسید محتویات توجه داشته باشید که برنامه با استفاده از تابعی از SDK تولید شده، دسترسی لازم به پایگاه داده را تکمیل میکند. | package com.example.quickstartapp import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import com.example.quickstartapp.ui.theme.QuickstartAppTheme import com.google.firebase.dataconnect.generated.ExampleConnector import com.google.firebase.dataconnect.generated.ListMoviesQuery import com.google.firebase.dataconnect.generated.execute import com.google.firebase.dataconnect.generated.instance class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { QuickstartAppTheme() { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> var movies by remember { mutableStateOf(emptyList<ListMoviesQuery.Data.MoviesItem>()) } LaunchedEffect(Unit) { // Queries need to be executed in a coroutine context try { movies = ExampleConnector.instance.listMovies.execute().data.movies } catch (e: Exception) { // TODO: Handle error, e.g., show a Toast or update a state variable to // display an error message. } } LazyColumn(modifier = Modifier.padding(innerPadding)) { items(movies) { movie -> Text(text = movie.title) } } } } } } } |
۹. برنامه را امتحان کنیدبرای مشاهدهی عملکرد آن، برنامهی نمونه را از اندروید استودیو اجرا کنید. | |
مراحل بعدی
افزونه SQL Connect VS Code را امتحان کنید
هنگام توسعه با SQL Connect ، اکیداً توصیه میکنیم از افزونه SQL Connect VS Code استفاده کنید. حتی اگر از Visual Studio Code به عنوان محیط توسعه اصلی خود استفاده نمیکنید، این افزونه چندین ویژگی ارائه میدهد که توسعه طرحواره و عملیات را راحتتر میکند:
- یک سرور زبان GraphQL، که بررسی سینتکس و پیشنهادهای تکمیل خودکار مختص SQL Connect را ارائه میدهد.
- دکمههای CodeLens مطابق با کد شما که به شما امکان میدهند دادهها را از فایلهای تعریف طرحواره خود بخوانید و بنویسید و پرسوجوها و جهشها را از تعاریف عملیات خود اجرا کنید.
- SDK های تولید شده خود را به طور خودکار با تعاریف GraphQL خود همگام سازی کنید.
- راهاندازی سادهشدهی شبیهساز محلی.
- استقرار سادهشده به محیط عملیاتی.
استفاده از شبیهساز SQL Connect برای توسعه محلی
اگرچه این آموزش به شما نشان داد که چگونه طرحها و عملیات SQL Connect را مستقیماً در محیط عملیاتی مستقر کنید، اما احتمالاً نمیخواهید در حین توسعه فعال برنامه خود، تغییراتی در پایگاه داده محیط عملیاتی خود ایجاد کنید. در عوض، شبیهساز SQL Connect را راهاندازی کنید و کارهای توسعه خود را به جای محیط عملیاتی، در محیط عملیاتی انجام دهید. شبیهساز یک نمونه محلی PGlite راهاندازی میکند که مشابه یک نمونه زنده PostgreSQL در Cloud SQL رفتار میکند.
یاد بگیرید چگونه طرحوارهها و عملیاتها را برای برنامه خود بنویسید
هنگام توسعه برنامهها با SQL Connect ، طراحی طرحها و عملیات شما یکی از اولین و مهمترین وظایف توسعهای است که انجام خواهید داد.
- Gemini در کنسول Firebase یک ابزار هوش مصنوعی است که میتواند طرحوارههای SQL Connect را از توضیحات زبان طبیعی برنامه شما تولید کند. این ابزار میتواند خیلی سریع شما را شروع کند، به خصوص اگر قبلاً هرگز با پایگاههای داده رابطهای کار نکردهاید.
- از طرف دیگر، میتوانید طرحوارهها، کوئریها و جهشهای پایگاه داده را مستقیماً با استفاده از GraphQL بنویسید. با راهنماییهای موجود در طرحوارههای Design SQL Connect شروع کنید و سپس برای یادگیری نحوه نوشتن عملیات، به صفحات بعدی بروید.
