এই কুইকস্টার্টে, আপনি একটি ছোট নমুনা ডেটাবেস তৈরি ও স্থাপন করবেন এবং একটি অ্যান্ড্রয়েড অ্যাপ থেকে সেটি অ্যাক্সেস করবেন।
পূর্বশর্ত
এই কুইকস্টার্টটি সম্পন্ন করতে আপনার নিম্নলিখিত জিনিসগুলির প্রয়োজন হবে:
- এমন একটি পরিবেশ যেখানে নিম্নলিখিত টুলগুলি ইনস্টল করা আছে:
- অ্যান্ড্রয়েড স্টুডিও -র একটি সাম্প্রতিক সংস্করণ।
- ফায়ারবেস সিএলআই । যদি আপনার এনপিএম ইনস্টল করা থাকে, তাহলে চালান:
অন্যথায়, ইনস্টলেশন নির্দেশাবলীর জন্য ডকুমেন্টেশন দেখুন।npm install -g firebase-tools@latest
- একটি গুগল অ্যাকাউন্ট।
টিউটোরিয়াল
| টিউটোরিয়াল | |
|---|---|
১. একটি নতুন অ্যান্ড্রয়েড স্টুডিও প্রজেক্ট তৈরি করুন।অ্যান্ড্রয়েড স্টুডিওতে, এম্পটি অ্যাক্টিভিটি টেমপ্লেট ব্যবহার করে একটি নতুন প্রজেক্ট তৈরি করুন। প্রজেক্টটির নাম দিন Quickstart App এবং প্যাকেজ নেম হিসেবে com.example.quickstartapp ব্যবহার করুন। | ![]() |
২. আপনার অ্যান্ড্রয়েড স্টুডিও প্রজেক্টে ফায়ারবেস যুক্ত করুন আপনার | 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") } |
৩. একটি ফায়ারবেস প্রজেক্ট শুরু করুনঅ্যান্ড্রয়েড স্টুডিও প্রজেক্ট ডিরেক্টরিতে যান এবং সেখানে একটি ফায়ারবেস প্রজেক্ট শুরু করুন। | cd ~/QuickstartAppfirebase login --reauthfirebase init dataconnectনির্দেশিত হলে, নিম্নলিখিত বিকল্পগুলি বেছে নিন:
অন্যান্য সকল প্রম্পটের জন্য ডিফল্ট মানগুলো গ্রহণ করুন। এরপরে, আপনার ফায়ারবেস প্রজেক্টে আপনার অ্যান্ড্রয়েড অ্যাপটি রেজিস্টার করুন। 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 এক্সটেনশনটি ব্যবহার করার জন্য জোরালোভাবে সুপারিশ করি। এমনকি যদি আপনি আপনার প্রধান ডেভেলপমেন্ট এনভায়রনমেন্ট হিসেবে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার নাও করেন, তবুও এই এক্সটেনশনটি এমন বেশ কিছু ফিচার প্রদান করে যা স্কিমা এবং অপারেশন ডেভেলপমেন্টকে আরও সুবিধাজনক করে তোলে:
- একটি GraphQL ল্যাঙ্গুয়েজ সার্ভার, যা SQL Connect জন্য নির্দিষ্ট সিনট্যাক্স চেকিং এবং অটোকমপ্লিট সাজেশন প্রদান করে।
- আপনার কোডের সাথে সংযুক্ত কোডলেন্স বাটন, যা আপনাকে আপনার স্কিমা ডেফিনিশন ফাইল থেকে ডেটা পড়তে ও লিখতে এবং আপনার অপারেশন ডেফিনিশন থেকে কোয়েরি ও মিউটেশন সম্পাদন করতে দেয়।
- আপনার তৈরি করা SDK-গুলোকে আপনার GraphQL ডেফিনিশনগুলোর সাথে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করে রাখুন।
- সরলীকৃত স্থানীয় এমুলেটর সেটআপ।
- প্রোডাকশনে স্থাপন প্রক্রিয়া সহজতর।
স্থানীয় ডেভেলপমেন্টের জন্য SQL Connect এমুলেটর ব্যবহার করুন
যদিও এই টিউটোরিয়ালটি আপনাকে দেখিয়েছে কিভাবে SQL Connect স্কিমা এবং অপারেশন সরাসরি প্রোডাকশনে ডেপ্লয় করতে হয়, আপনি সম্ভবত আপনার অ্যাপ ডেভেলপ করার সময় প্রোডাকশন ডেটাবেসে কোনো পরিবর্তন করতে চাইবেন না। এর পরিবর্তে, SQL Connect এমুলেটর সেট আপ করুন এবং প্রোডাকশনের বদলে সেটির উপর আপনার ডেভেলপমেন্টের কাজ করুন। এমুলেটরটি একটি লোকাল PGlite ইনস্ট্যান্স তৈরি করে, যা Cloud SQL এর একটি লাইভ PostgreSQL ইনস্ট্যান্সের মতোই আচরণ করে।
আপনার অ্যাপের জন্য স্কিমা এবং অপারেশন কীভাবে লিখতে হয় তা শিখুন।
SQL Connect ব্যবহার করে অ্যাপ তৈরি করার সময়, আপনার স্কিমা এবং অপারেশনগুলির ডিজাইন করা হলো প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ ডেভেলপমেন্ট কাজগুলোর মধ্যে একটি যা আপনাকে সম্পন্ন করতে হবে।
- Firebase কনসোলের জেমিনি হলো একটি এআই টুল যা আপনার অ্যাপের স্বাভাবিক ভাষার বর্ণনা থেকে SQL Connect স্কিমা তৈরি করতে পারে। এই টুলটি আপনাকে খুব দ্রুত কাজ শুরু করতে সাহায্য করতে পারে, বিশেষ করে যদি আপনি আগে কখনো রিলেশনাল ডেটাবেস নিয়ে কাজ না করে থাকেন।
- বিকল্পভাবে, আপনি সরাসরি GraphQL ব্যবহার করে ডাটাবেস স্কিমা, কোয়েরি এবং মিউটেশন লিখতে পারেন। "Design SQL Connect schemas"- এর নির্দেশিকা দিয়ে শুরু করুন, এবং তারপরে অপারেশন কীভাবে লিখতে হয় তা শিখতে পরবর্তী পৃষ্ঠাগুলিতে যান।
