इस क्विकस्टार्ट में, आपको डेटाबेस का एक छोटा सैंपल बनाने और उसे डिप्लॉय करने के साथ-साथ, Android ऐप्लिकेशन से उसे ऐक्सेस करने का तरीका बताया जाएगा.
ज़रूरी शर्तें
इस क्विकस्टार्ट को पूरा करने के लिए, आपको इनकी ज़रूरत होगी:
- ऐसा एनवायरमेंट जिसमें ये टूल इंस्टॉल हों:
- Android Studio का नया वर्शन.
- Firebase CLI. अगर आपने एनपीएम इंस्टॉल किया है, तो यह कमांड चलाएं:
इसके अलावा, इंस्टॉल करने के निर्देशों के लिए दस्तावेज़ देखें.npm install -g firebase-tools@latest
- एक Google खाता.
ट्यूटोरियल
| ट्यूटोरियल | |
|---|---|
1. Android Studio में नया प्रोजेक्ट बनानाAndroid Studio में, खाली गतिविधि टेंप्लेट की मदद से एक नया प्रोजेक्ट बनाएं. प्रोजेक्ट का नाम Quickstart App और पैकेज का नाम com.example.quickstartapp रखें. |
|
2. अपने Android Studio प्रोजेक्ट में Firebase जोड़नाअपनी
|
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.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") } |
3. Firebase प्रोजेक्ट को शुरू करनाAndroid Studio के प्रोजेक्ट डायरेक्ट्री में जाकर, उसमें 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 |
4. 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 } } |
5. अपने स्कीमा और कार्रवाइयों को डिप्लॉय करनाडेटाबेस के स्कीमा, क्वेरी या म्यूटेशन में बदलाव करने पर, आपको उन्हें डिप्लॉय करना होगा. ऐसा करने पर ही, डेटाबेस पर आपके बदलाव लागू होंगे. |
|
6. डेटाबेस में सैंपल डेटा जोड़नासैंपल ऐप्लिकेशन की जांच करते समय, इस डेटा की मदद से आपको यह देखने में मदद मिलेगी कि ऐप्लिकेशन कैसा काम करता है. ध्यान दें कि इस चरण में, आपको GraphQL को अपनी मर्ज़ी के मुताबिक चलाना है. एडमिन से जुड़े टास्क के लिए, ऐसा किया जा सकता है. |
|
7. Android क्लाइंट SDK टूल जनरेट करनाइस कमांड से, GraphQL की परिभाषाओं का इस्तेमाल करके, आपके डेटाबेस के लिए खास तौर पर Android क्लाइंट SDK टूल जनरेट किया जाता है. डेटाबेस से जुड़ी सभी कार्रवाइयां करने के लिए, इस लाइब्रेरी का इस्तेमाल अपने क्लाइंट ऐप्लिकेशन में करें. ` |
public interface ExampleConnector : GeneratedConnector<ExampleConnector> { override val dataConnect: com.google.firebase.dataconnect.FirebaseDataConnect public val listMovies: ListMoviesQuery // ... } |
8. Android क्लाइंट का सैंपल लिखना
के कॉन्टेंट को इस आसान
Android ऐप्लिकेशन से बदलें. ध्यान दें कि ऐप्लिकेशन, जनरेट किए गए 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) } } } } } } } |
9. ऐप्लिकेशन आज़माएंAndroid Studio से, सैंपल ऐप्लिकेशन चलाकर देखें कि यह कैसा काम करता है. |
|
अगले चरण
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 की मदद से ऐप्लिकेशन डेवलप करते समय, स्कीमा और ऑपरेशन का डिज़ाइन, डेवलपमेंट के सबसे पहले और सबसे अहम टास्क में से एक है.
- कंसोल में मौजूद Firebase Gemini, एक एआई टूल है. यह आपके ऐप्लिकेशन की सामान्य भाषा में दी गई जानकारी के आधार पर, SQL Connect स्कीमा जनरेट कर सकता है. इस टूल की मदद से, बहुत तेज़ी से काम शुरू किया जा सकता है. खास तौर पर, अगर आपने पहले कभी रिलेशनल डेटाबेस के साथ काम नहीं किया है, तो यह टूल आपके लिए बहुत मददगार साबित हो सकता है.
- इसके अलावा, GraphQL का इस्तेमाल करके, डेटाबेस के स्कीमा, क्वेरी, और म्यूटेशन सीधे लिखे जा सकते हैं. स्कीमा डिज़ाइन करनेSQL Connect के बारे में जानकारी से शुरुआत करें, और इसके बाद, ऑपरेशन लिखने का तरीका जानने के लिए, अगले पेज पर जाएं.