در این شروع سریع، یک پایگاه داده نمونه کوچک ایجاد و مستقر خواهید کرد و ازطریق برنامه Android به آن دسترسی خواهید داشت.
پیشنیازها
برای تکمیل این شروع سریع، به موارد زیر نیاز دارید:
- محیطی که ابزارهای زیر در آن نصب شده باشد:
- نسخه جدیدی از استودیو Android.
- واسط خط فرمان Firebase. اگر NPM را نصب کردهاید، این دستور را اجرا کنید:
درغیراینصورت، برای دستورالعملهای نصب به اسناد مراجعه کنید.npm install -g firebase-tools@latest
- حساب Google داشته باشید.
آموزش گامبهگام
| آموزش گامبهگام | |
|---|---|
۱. ایجاد پروژه جدید در «استودیو Android»در «استودیو Android»، پروژه جدیدی با الگوی فعالیت خالی ایجاد کنید. نام پروژه را Quickstart App و نام بسته را com.example.quickstartapp بگذارید. |
|
۲. افزودن Firebase به پروژه Android Studioوابستگیهای Firebase و افزونه سریالسازی Kotlin را به فایلهای |
QuickstartApp/build.gradle.kts
plugins { 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.5.0" 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:35.1.0")) implementation("com.google.firebase:firebase-dataconnect") } |
۳. مقداردهی اولیه پروژه Firebaseبه فهرست راهنمای پروژه «استودیو Android» بروید و پروژه Firebase را در آن مقداردهی اولیه کنید. |
cd ~/QuickstartAppfirebase login --reauthfirebase init dataconnectوقتی درخواست شد، گزینههای زیر را انتخاب کنید:
مقادیر پیشفرض را برای همه پیاموارههای دیگر بپذیرید. سپس، برنامه Android خود را در پروژه 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 (excerpt)
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 دلخواه را اجرا میکنید که برای کارهای اداری مجاز است. |
|
۷. تولید کیت توسعه نرمافزار کارخواه Androidاین فرمان از تعاریف GraphQL شما برای تولید کیت توسعه نرمافزار مشتری Android بهطور خاص برای پایگاه داده شما استفاده میکند. از این کتابخانه در برنامه مشتریتان برای انجام همه عملیات پایگاه داده استفاده میکنید. با افزودن تعاریف به |
public interface ExampleConnector : GeneratedConnector<ExampleConnector> { override val dataConnect: com.google.firebase.dataconnect.FirebaseDataConnect public val listMovies: ListMoviesQuery // ... } |
۸. نوشتن نمونه کارخواه Androidمحتویات توجه داشته باشید که برنامه دسترسی لازم به پایگاه داده را بااستفاده از تابعی از کیت توسعه نرمافزار تولیدشده تکمیل میکند. |
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) } } } } } } } |
۹. برنامه را امتحان کنیداز Android Studio، برنامه نمونه را اجرا کنید تا آن را در عمل ببینید. |
|
مراحل بعدی
افزونه SQL Connect VS Code را امتحان کنید
هنگام توسعه با SQL Connect، اکیداً توصیه میکنیم از افزونه SQL Connect VS Code استفاده کنید. حتی اگر از Visual Studio Code بهعنوان محیط توسعه اصلی خود استفاده نمیکنید، این افزونه چندین ویژگی ارائه میدهد که توسعه طرحواره و عملیات را راحتتر میکند:
- سرور زبان GraphQL که بررسی نحو و پیشنهادهای تکمیل خودکار مختص SQL Connect را ارائه میدهد
- دکمههای CodeLens در خط کد شما که به شما امکان میدهد دادهها را از فایلهای تعریف طرحواره خود بخوانید و بنویسید و پرسمانها و جهشها را از تعاریف عملیات خود اجرا کنید.
- کیتهای توسعه نرمافزار تولیدشدهتان را بهطور خودکار با تعاریف GraphQL همگامسازی کنید.
- راهاندازی شبیهساز محلی ساده شده است.
- استقرار سادهشده برای تولید.
از شبیهساز SQL Connect برای توسعه محلی استفاده کنید
اگرچه این آموزش به شما نشان داد که چگونه طرحوارهها و عملیات SQL Connect را مستقیماً در محیط تولید مستقر کنید، احتمالاً نمیخواهید درحالیکه بهطور فعال درحال توسعه برنامهتان هستید، تغییراتی در پایگاه داده تولید خود ایجاد کنید. درعوض، شبیهساز SQL Connect را راهاندازی کنید و کار توسعه خود را بهجای محیط تولید، در آن انجام دهید. شبیهساز یک نمونه محلی PGlite راهاندازی میکند که رفتاری مشابه نمونه زنده PostgreSQL در Cloud SQL دارد.
با نحوه نوشتن طرحوارهها و عملیات برای برنامهتان آشنا شوید
هنگام توسعه برنامهها با SQL Connect، طراحی طرحوارهها و عملیات شما یکی از اولین و مهمترین وظایف توسعهای است که تکمیل خواهید کرد.
- Gemini در کنسول Firebase یک ابزار هوش مصنوعی است که میتواند طرحوارههای SQL Connect را از شرح زبان طبیعی برنامه شما تولید کند. این ابزار میتواند به شما کمک کند خیلی سریع شروع کنید، بهویژه اگر قبلاً با پایگاههای داده رابطهای کار نکرده باشید.
- یا میتوانید طرحوارهها، پُرسمانها، و جهشهای پایگاه داده را مستقیماً بااستفاده از GraphQL بنویسید. با راهنماییهای موجود در طراحی طرحوارههای SQL Connect شروع کنید، و سپس به صفحههای بعدی بروید تا با نحوه نوشتن عملیات آشنا شوید.
با نحوه دریافت بهروزرسانیهای همزمان از SQL Connect آشنا شوید
میتوانید از SQL Connect برای نوشتن برنامههای کارخواه استفاده کنید که به تغییر دادهها در زمان واقعی واکنش نشان میدهند. دریافت بهروزرسانیهای همزمان از SQL Connect را ببینید.