फायरबेस क्या है? फायरबेस एक मोबाइल (एंड्रॉइड या आईओएस) और वेब एप्लिकेशन डेवलपमेंट प्लेटफॉर्म है जो क्लाउड-आधारित टूल और सेवाओं का एक सूट प्रदान करता है। गूगल . यह एक सेवा के रूप में बैकएंड है( बाएस ) जो डेवलपर्स को प्रमाणीकरण, रीयल-टाइम डेटाबेस, क्लाउड स्टोरेज, होस्टिंग और बहुत कुछ के लिए अंतर्निहित सुविधाओं के साथ जल्दी और कुशलता से एप्लिकेशन बनाने और तैनात करने में सक्षम बनाता है। इस ट्यूटोरियल में, हम प्रमाणीकरण के लिए फायरबेस के साथ एक सरल जावा एंड्रॉइड ऐप बनाएंगे जो उपयोगकर्ताओं को खाते बनाने की अनुमति देता है। खातों में साइन इन करें और साइन आउट करें। हम यह भी बताएंगे कि अपने एंड्रॉइड फोन को एमुलेटर के रूप में कैसे उपयोग करें। आवश्यक शर्तें इस ट्यूटोरियल को शुरू करने से पहले, आपको एंड्रॉइड ऐप डेवलपमेंट की मूल बातें जाननी चाहिए। इसके अतिरिक्त, आपके कंप्यूटर पर निम्नलिखित सॉफ़्टवेयर स्थापित होना चाहिए: एंड्रॉइड स्टूडियो: एंड्रॉइड ऐप्स विकसित करने के लिए आधिकारिक आईडीई है। इसमें कोड संपादन, लेआउट डिज़ाइन, डिबगिंग और परीक्षण के लिए एक एमुलेटर सहित सुविधाओं का एक बड़ा सेट है। एंड्रॉइड स्टूडियो जावा डेवलपमेंट किट (जेडीके): इस ट्यूटोरियल में, हम उपयोग करेंगे हमारा ऐप बनाने के लिए। एंड्रॉइड स्टूडियो को JDK 8 या उच्चतर की आवश्यकता है। जावा एंड्रॉइड एसडीके (सॉफ्टवेयर डेवलपमेंट किट): एंड्रॉइड एसडीके एंड्रॉइड ऐप्स विकसित करने के लिए Google द्वारा प्रदान किए गए टूल और लाइब्रेरी का एक संग्रह है। एंड्रॉइड वर्चुअल डिवाइस (एवीडी) मैनेजर: एवीडी मैनेजर एंड्रॉइड स्टूडियो द्वारा प्रदान किया गया एक टूल है जो आपको अपने ऐप्स के परीक्षण के लिए वर्चुअल डिवाइस बनाने और प्रबंधित करने की अनुमति देता है। चरण 1: एक नया एंड्रॉइड ऐप बनाएं एंड्रॉइड स्टूडियो खोलें, और स्वागत स्क्रीन पर "एक नया एंड्रॉइड स्टूडियो प्रोजेक्ट शुरू करें" पर क्लिक करें। यदि आपको यह विकल्प दिखाई नहीं देता है, तो आप नया प्रोजेक्ट बनाने के लिए फ़ाइल>नया>नया प्रोजेक्ट पर जा सकते हैं। इसके बाद, आप अपने प्रोजेक्ट के लिए एक टेम्पलेट चुनेंगे। एंड्रॉइड स्टूडियो विभिन्न प्रकार के ऐप्स के लिए कई टेम्पलेट प्रदान करता है, जैसे "खाली गतिविधि", "बेसिक गतिविधि", "फुलस्क्रीन गतिविधि", और बहुत कुछ। "खाली गतिविधि" चुनें और "अगला" पर क्लिक करें। "खाली गतिविधि" संवाद में, आप ऐप के लिए अतिरिक्त सेटिंग्स सेट कर सकते हैं। आपको अपने प्रोजेक्ट के लिए विभिन्न सेटिंग्स कॉन्फ़िगर करने का संकेत दिखाई देगा, जैसे प्रोजेक्ट का नाम, पैकेज का नाम, स्थान, न्यूनतम एसडीके और भाषा। आवश्यक जानकारी भरें; इस स्थिति में, प्रोजेक्ट का नाम `FirebaseAuthApp" है और "समाप्त करें" पर क्लिक करें। एंड्रॉइड स्टूडियो चुने हुए टेम्पलेट के साथ एक नया प्रोजेक्ट बनाएगा और आवश्यक फ़ाइलें और फ़ोल्डर्स उत्पन्न करेगा। आपके सिस्टम के प्रदर्शन और क्षमता के आधार पर इसमें कुछ मिनट लग सकते हैं। एक बार प्रोजेक्ट बन जाने के बाद, आपको प्रोजेक्ट टैब में प्रोजेक्ट संरचना, लेआउट एडिटर में एक्टिविटी_मेन.एक्सएमएल लेआउट फ़ाइल और एडिटर में मेनएक्टिविटी.जावा फ़ाइल दिखाई देगी। टूलबार पर `बिल्ड` पर क्लिक करें और एपीके फ़ाइल बनाने के लिए `बिल्ड प्रोजेक्ट` चुनें जिसमें आपके ऐप का कोड और संसाधन शामिल हैं। ध्यान दें: यदि आपने पहले किसी बिल्ड को ट्रिगर किया है या यदि आपने अपने प्रोजेक्ट में बदलाव किए हैं जिसके लिए पूर्ण बिल्ड की आवश्यकता है, तो आप "बिल्ड प्रोजेक्ट" के बजाय "रीबिल्ड प्रोजेक्ट" देख सकते हैं। चरण 2: ऐप चलाएं और उसका परीक्षण करें। ऐसा करने के लिए, आप एक भौतिक एंड्रॉइड डिवाइस कनेक्ट कर सकते हैं या एक एमुलेटर शुरू कर सकते हैं। एमुलेटर का उपयोग करने के लिए, इन चरणों का पालन करें: एंड्रॉइड वर्चुअल डिवाइस (एवीडी) मैनेजर खोलने के लिए एंड्रॉइड स्टूडियो पर टूलबार में डिवाइस मैनेजर पर क्लिक करें। यदि आपके पास पहले से ही वर्चुअल डिवाइस है, तो एवीडी में एमुलेटर शुरू करने के लिए प्ले बटन पर क्लिक करें। यदि आपके पास कोई नहीं है, तो नया एमुलेटर या वर्चुअल डिवाइस बनाने के लिए `डिवाइस बनाएं` पर क्लिक करें। अपना पसंदीदा हार्डवेयर कॉन्फ़िगरेशन (आकार, रिज़ॉल्यूशन, घनत्व, आदि) चुनें, फिर अगला चुनें। उसके बाद, एक सिस्टम छवि और Android संस्करण चुनें। इसे डाउनलोड होने दें, और फिर एमुलेटर सेटिंग्स सेट करें। मौजूदा वर्चुअल डिवाइस बनाएं या चुनें: जब वर्चुअल डिवाइस बन जाए, तो एमुलेटर शुरू करने के लिए प्ले बटन पर क्लिक करें। एक बार जब एमुलेटर चल रहा हो, तो टूलबार पर जाएँ और एमुलेटर पर अपना प्रोजेक्ट चलाने के लिए `रन` बटन पर क्लिक करें। यह स्वचालित रूप से एमुलेटर पर ऐप बनाएगा और इंस्टॉल करेगा। आपको एमुलेटर पर 'हैलो वर्ल्ड' देखना चाहिए। किसी भौतिक Android डिवाइस से कनेक्ट करने के लिए, निम्नलिखित चरणों का पालन करें: अपने एंड्रॉइड डिवाइस (फोन या टैबलेट) पर, सेटिंग्स खोलें और `फोन के बारे में` पर नेविगेट करें। 'सॉफ़्टवेयर सूचना' पर क्लिक करें। एक बार जब आप इसे खोल लें, तो नीचे स्क्रॉल करें और 'बिल्ड नंबर' देखें। इस पर सात बार टैप करें (फोन के आधार पर नंबर भिन्न हो सकता है; मैं सैमसंग फोन का उपयोग कर रहा हूं), और यह डेवलपमेंट मोड चालू कर देगा। इस स्तर पर, यह आपका पासवर्ड मांग सकता है; इसे इनपुट करें, और आपका काम हो गया। सेटिंग होम पेज पर वापस जाएं और आपको डेवलपर विकल्प दिखाई देंगे। डेवलपर विकल्प पर क्लिक करें और फिर यूएसबी डिबगिंग चालू करें। अपने डिवाइस को USB कॉर्ड से प्लग इन करके अपने कंप्यूटर से कनेक्ट करें। आपको एक पॉप-अप संदेश दिखाई देगा जिसमें आपसे कंप्यूटर से यूएसबी डिबगिंग की अनुमति मांगी जाएगी। अपने एंड्रॉइड स्टूडियो पर वापस जाएं और AVD मैनेजर पर जाएं। टूलबार पर, आपका उपकरण दिखना चाहिए; इसे चुनें और ऐप चलाएं। कुछ मिनटों के बाद ऐप आपके एंड्रॉइड डिवाइस पर खुल जाएगा, और आपको 'हैलो वर्ल्ड' होम पेज दिखाई देगा। ध्यान दें: आपके भौतिक डिवाइस को एमुलेटर के रूप में आपके एंड्रॉइड स्टूडियो से कनेक्ट करने के अन्य तरीके हैं, जैसे वायरलेस डिबगिंग, लेकिन इस ट्यूटोरियल में, हम यूएसबी डिबगिंग का उपयोग करेंगे। चरण 3: यूजर इंटरफेस बनाएं इस चरण में, हम उपयोगकर्ता इंटरफ़ेस और डिज़ाइन बनाएंगे। `ऐप/रेस` फ़ोल्डर पर नेविगेट करें; यहीं पर अधिकांश उपयोगकर्ता इंटरफ़ेस परिवर्तन होंगे। `app/res/values/colors.xml` फ़ाइल खोलें और हमारे ऐप के लिए रंग कोड जोड़ें। रंग जोड़ें: <?xml version="1.0" encoding="utf-8"?> <resources> <color name="slateblue"> #6F58C9</color> <color name="black">#FF000000</color> <color name="white"> #FFFFFFFF</color> </resources> `res` फ़ोल्डर पर राइट-क्लिक करें और 'नया' पर क्लिक करें, नीचे 'फ़ोल्डर' तक स्क्रॉल करें, और ड्रॉप-डाउन से `फ़ॉन्ट फ़ोल्डर' चुनें। या एक नया फ़ोल्डर बनाएं और इसे `फ़ॉन्ट` नाम दें। डाउनलोड करें और इसे कॉपी करें फ़ॉन्ट फ़ोल्डर में. फ़ॉन्ट जोड़ें: फ़ॉन्ट : हम लॉगिन, डायलॉग बॉक्स, फॉर्म इनपुट बॉक्स, बटन, पृष्ठभूमि छवियां और लॉगिन और साइनअप पेजों पर वेक्टर संपत्तियां बनाएंगे और जोड़ेंगे। ऐसा करने के लिए, नीचे दिए गए चरणों का पालन करें: ड्रा करने योग्य संसाधन बनाएं इस डाउनलोड करें और खींचने योग्य फ़ोल्डर में कॉपी करें। एक पृष्ठभूमि छवि जोड़ें: छवि को `res` फ़ोल्डर में, 'ड्रॉएबल' फ़ोल्डर पर नेविगेट करें, उस पर राइट-क्लिक करें, 'नया' पर क्लिक करें और 'ड्रॉएबल रिसोर्स फ़ाइल' चुनें। नाम को 'custom_edittext' के रूप में सहेजें और बदलें चयनकर्ता से आकार तक मूल तत्व, फिर 'ओके' पर क्लिक करें। कस्टम ड्रॉएबल संसाधन फ़ाइलें जोड़ें: फ़ाइल खोलें और कोड की ये पंक्तियाँ जोड़ें: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <stroke android:width="2dp" android:color="@color/slateblue"/> <corners android:radius="30dp"/> </shape> वेक्टर छवियाँ जोड़ें: `रेस` फ़ोल्डर में, 'ड्रॉएबल' फ़ोल्डर पर नेविगेट करें, उस पर राइट-क्लिक करें, 'न्यू' पर क्लिक करें और 'वेक्टर एसेट' चुनें। यहां हम फॉर्म के लिए वेक्टर छवियां डाउनलोड करेंगे। क्लिप आर्ट पर क्लिक करें और सर्च बार में 'व्यक्ति' टाइप करें। 'व्यक्ति' कला का चयन करें, 'अगला' पर क्लिक करें और 'समाप्त' चुनें। चरणों को दोहराएँ लेकिन 'लॉक' के लिए वेक्टर छवि डाउनलोड करें। उनमें से प्रत्येक के लिए XML कोड खोलें और रंग को बरगंडी में बदलें। 'android:tint='@color/slateblue''। चरण 4: नई गतिविधियाँ बनाएँ। 'app/java/com.example.firebaseauthapp' फ़ोल्डर पर जाएं, उस पर राइट-क्लिक करें और 'नया' चुनें। नीचे स्क्रॉल करें और 'गतिविधि' पर क्लिक करें, फिर 'खाली गतिविधि' चुनें। गतिविधि का नाम बदलकर 'साइनअपएक्टिविटी' कर दें, 'लॉन्चर गतिविधि' वाले बॉक्स को चेक करें और फिर 'समाप्त' पर क्लिक करें। इस बार 'लॉगिनएक्टिविटी' के लिए इसे लॉन्चर गतिविधि बनाने को छोड़कर चरणों को दोहराएं। 'app/manifests/AndroidManifest.xml' फ़ाइल खोलें और मुख्य गतिविधि ब्लॉक से इंटेंट फ़िल्टर हटा दें, साथ ही 'android:exported='true'' को 'android:exported='false'' में बदलें। इसे ऐसा दिखना चाहिए: <activity android:name=".LoginActivity" android:exported="false" /> <activity android:name=".SignUpActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity" android:exported="false"> </activity> 5: चरण अपनी गतिविधि संपादित करें। 'app/res/layout/activity_main.xml' फ़ाइल खोलें। निम्नलिखित कोड जोड़ें: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/wallbg" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:textColor="@color/slateblue" android:textSize="26sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout> 'app/res/layout/activity_sign_up.xml' फ़ाइल खोलें। निम्नलिखित कोड जोड़ें: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" android:background="@drawable/wallbg" tools:context=".SignUpActivity"> <androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="30dp" app:cardCornerRadius="30dp" app:cardElevation="20dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center_horizontal" android:padding="24dp" android:background="@drawable/custom_edittext"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Sign Up" android:textSize="36sp" android:textAlignment="center" android:textStyle="bold" android:textColor="@color/slateblue" /> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/signup_email" android:background="@drawable/custom_edittext" android:layout_marginRight="40dp" android:layout_marginTop="40dp" android:padding="8dp" android:hint="Email" android:drawableLeft="@drawable/baseline_person_24" android:drawablePadding="8dp" android:textColor="@color/black" /> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/signup_password" android:background="@drawable/custom_edittext" android:layout_marginRight="40dp" android:layout_marginTop="20dp" android:padding="8dp" android:hint="Password" android:drawableLeft="@drawable/baseline_lock_24" android:drawablePadding="8dp" android:textColor="@color/black" /> <Button android:layout_width="match_parent" android:layout_height="60dp" android:text="Sign Up" android:id="@+id/signup_button" android:textSize="18sp" android:layout_marginTop="30dp" android:backgroundTint="@color/slateblue" app:cornerRadius = "20dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/loginRedirectText" android:text="Already a user. Login" android:layout_gravity="center" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/slateblue" android:textSize="18sp" /> </LinearLayout> </androidx.cardview.widget.CardView> </LinearLayout> ऐप/रेस/लेआउट/एक्टिविटी_लॉगिन.एक्सएमएल पर नेविगेट करें। निम्नलिखित कोड जोड़ें: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" android:background="@drawable/wallbg" tools:context=".LoginActivity"> <androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="30dp" app:cardCornerRadius="30dp" app:cardElevation="20dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center_horizontal" android:padding="24dp" android:background="@drawable/custom_edittext"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Login" android:textSize="36sp" android:textAlignment="center" android:textStyle="bold" android:textColor="@color/slateblue" /> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/login_email" android:background="@drawable/custom_edittext" android:layout_marginRight="40dp" android:layout_marginTop="40dp" android:padding="8dp" android:hint="Email" android:drawableLeft="@drawable/baseline_person_24" android:drawablePadding="8dp" android:textColor="@color/black" /> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/login_password" android:background="@drawable/custom_edittext" android:layout_marginRight="40dp" android:layout_marginTop="20dp" android:padding="8dp" android:hint="Password" android:drawableLeft="@drawable/baseline_lock_24" android:drawablePadding="8dp" android:textColor="@color/black" /> <Button android:layout_width="match_parent" android:layout_height="60dp" android:text="Login" android:id="@+id/login_button" android:textSize="18sp" android:layout_marginTop="30dp" android:backgroundTint="@color/slateblue" app:cornerRadius = "20dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/signUpRedirectText" android:text="Not yet registered? Sign Up" android:layout_gravity="center" android:padding="8dp" android:layout_marginTop="10dp" android:textColor="@color/slateblue" android:textSize="18sp" /> </LinearLayout> </androidx.cardview.widget.CardView> </LinearLayout> चरण 6: फायरबेस प्रमाणीकरण सेटअप करें मेनू बार पर जाएं और 'टूल्स' पर क्लिक करें, फिर फायरबेस चुनें। एक बार जब आप ऐसा कर लेंगे, तो आपको एक साइड पॉप-अप बार दिखाई देगा। स्क्रॉल करें और पर क्लिक करें, और फिर ' ' चुनें। याद रखें, यह एक जावा एंड्रॉइड ट्यूटोरियल है, इसलिए सुनिश्चित करें कि आप जो विकल्प चुन रहे हैं वह KOTLIN का उपयोग नहीं करता है। प्रमाणीकरण कस्टम प्रमाणीकरण प्रणाली का उपयोग करके प्रमाणीकरण बटन पर क्लिक करके फायरबेस से कनेक्ट करें। यह आपको आपके फायरबेस कंसोल पर रीडायरेक्ट करेगा। यदि आपने कोई खाता नहीं बनाया है, तो सुनिश्चित करें कि आपने एक खाता बना लिया है। संभवतः आप साइन इन होंगे; यदि नहीं, तो साइन इन करें. जब आप कोई नया प्रोजेक्ट बनाते हैं, तो यह एंड्रॉइड स्टूडियो में प्रोजेक्ट नाम के आधार पर एक नाम सुझाएगा। आप इसे रखना या इसका नाम बदलना चुन सकते हैं। मेरा 'FirebaseAuthApp' है। अगले संकेत पर, प्रोजेक्ट के लिए Google Analytics को अक्षम करें और फिर प्रोजेक्ट बनाएं। एक बार प्रोजेक्ट बन जाने के बाद, आपको एक संकेत दिखाई देगा जिसमें आपसे एंड्रॉइड स्टूडियो को फायरबेस से कनेक्ट करने के लिए कहा जाएगा। 'ठीक है' चुनें और आपका काम हो गया। फायरबेस कंसोल पर वापस जाएं और अपना नया बनाया गया प्रोजेक्ट खोलें। 'बिल्ड' पर क्लिक करें और फिर 'प्रमाणीकरण' चुनें। 'आरंभ करें' बटन पर क्लिक करें। 'ईमेल/पासवर्ड' का चयन करके और इसे सक्षम करके साइन-इन विधि जोड़ें। यह आपके पसंदीदा तरीके, इस मामले में, ईमेल या पासवर्ड का उपयोग करके आपके कस्टम प्रमाणीकरण सिस्टम का निर्माण करेगा। एंड्रॉइड स्टूडियो पर वापस जाएँ। आपको एक पॉप-अप संदेश देखना चाहिए जिसमें कहा गया है कि आपका ऐप, com.example.firebaseauthapp, अब आपके फायरबेस प्रोजेक्ट से कनेक्ट हो गया है। सहायक टूलबार पर बटन पर क्लिक करके और 'परिवर्तन स्वीकार करें' का चयन करके अपने ऐप में फायरबेस प्रमाणीकरण एसडीके जोड़ें। एक बार यह पूरा हो जाने पर, आपको सहायक टूलबार पर एक संकेत दिखाई देगा जिसमें कहा जाएगा कि निर्भरताएँ सही ढंग से सेट की गई थीं। टूलबार बंद करें और ग्रैडल खोलें। ग्रैडल टूलबार के ऊपरी बाएँ कोने में ग्रैडल आइकन पर क्लिक करें। सर्च बार पर 'साइनिंगरेडपोर्ट' टाइप करें और एंटर दबाएं। एक बार बिल्ड एनालाइज़र परिणाम उपलब्ध हो जाने पर, SHA1 हैश की प्रतिलिपि बनाएँ। फायरबेस कंसोल पर वापस जाएं और प्रोजेक्ट अवलोकन पर क्लिक करें, फिर प्रोजेक्ट सेटिंग्स चुनें। नोट: यदि आपके पास प्रोजेक्ट पर एक से अधिक ऐप हैं, तो प्रोजेक्ट अवलोकन पर जाएं, फिर 'ऐप' पर क्लिक करें और चुनें कि आप किस ऐप को प्रमाणित करना चाहते हैं। प्रोजेक्ट के आधार पर नेविगेट करें और फ़िंगरप्रिंट जोड़ें। SHA1 हैश चिपकाएँ और फिर सहेजें चुनें।" आपको एक संकेत मिलेगा 'नया प्रमाणपत्र फ़िंगरप्रिंट जोड़ा गया'। चरण 7: प्रोजेक्ट में प्रमाणीकरण जोड़ें। 'com/example/firebaseauthapp/SignUpActivity.java' फ़ाइल खोलें। आवश्यक आयात जोड़ें, FirebaseAuth उदाहरण घोषित करें, और इसे साइनअप गतिविधि की 'onCreate' विधि में प्रारंभ करें। इसे ऐसा दिखना चाहिए: package com.example.firebaseauthapp; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; public class SignUpActivity extends AppCompatActivity { // Declare any other necessary variables. private FirebaseAuth auth; private EditText signupEmail, signupPassword; private Button signupButton; private TextView loginRedirectText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sign_up); //Initialize the FirebaseAuth instance in the onCreate() auth = FirebaseAuth.getInstance(); signupEmail = findViewById(R.id.signup_email); signupPassword = findViewById(R.id.signup_password); signupButton = findViewById(R.id.signup_button); loginRedirectText = findViewById(R.id.loginRedirectText); signupButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String user = signupEmail.getText().toString().trim(); String pass = signupPassword.getText().toString().trim(); if (user.isEmpty()){ signupEmail.setError("Email cannot be empty"); } if(pass.isEmpty()){ signupPassword.setError("Password cannot be empty"); } else{ auth.createUserWithEmailAndPassword(user, pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if(task.isSuccessful()){ Toast.makeText(SignUpActivity.this, "Signup Successful", Toast.LENGTH_SHORT).show(); startActivity(new Intent(SignUpActivity.this, LoginActivity.class)); } else{ Toast.makeText(SignUpActivity.this, "Signup Failed" + task.getException().getMessage(), Toast.LENGTH_SHORT).show(); } } }); } } }); loginRedirectText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(SignUpActivity.this, LoginActivity.class)); } }); } } 'com/example/firebaseauthapp/LoginActivity.java' फ़ाइल खोलें। निम्नलिखित कोड जोड़ें: package com.example.firebaseauthapp; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.util.Patterns; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.google.android.gms.tasks.OnFailureListener; import com.google.android.gms.tasks.OnSuccessListener; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; public class LoginActivity extends AppCompatActivity { private FirebaseAuth auth; private EditText loginEmail, loginPassword; private TextView signupRedirectText; private Button loginButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); auth = FirebaseAuth.getInstance(); loginEmail = findViewById(R.id.login_email); loginPassword = findViewById(R.id.login_password); loginButton = findViewById(R.id.login_button); signupRedirectText = findViewById(R.id.signupRedirectText); loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String email = loginEmail.getText().toString(); String pass = loginPassword.getText().toString(); if(!email.isEmpty() && Patterns.EMAIL_ADDRESS.matcher(email).matches()) { if (!pass.isEmpty()) { auth.signInWithEmailAndPassword(email, pass) .addOnSuccessListener(new OnSuccessListener<AuthResult>() { @Override public void onSuccess(AuthResult authResult) { Toast.makeText(LoginActivity.this, "Login Successful", Toast.LENGTH_SHORT).show(); startActivity(new Intent(LoginActivity.this, MainActivity.class )); finish(); } }).addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Toast.makeText(LoginActivity.this, "Login Failed", Toast.LENGTH_SHORT).show(); } }); } else { loginPassword.setError("Password cannot be empty"); } } else if (email.isEmpty()) { loginEmail.setError("Email cannot be empty"); } else { loginEmail.setError("Please enter a valid email"); } } }); signupRedirectText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(LoginActivity.this, SignUpActivity.class)); } }); } } ऐप चलाएं और एमुलेटर शुरू करें। आपको पूरी तरह से कार्यशील एप्लिकेशन देखना चाहिए. फायरबेस कंसोल पर जाएं और 'प्रमाणीकरण' पर क्लिक करें। 'उपयोगकर्ता' टैब के अंतर्गत, आपको नए पंजीकृत उपयोगकर्ता की सूची दिखाई देगी। इन चरणों का पालन करके, आपने फ़ायरबेस को सफलतापूर्वक एकीकृत कर लिया है और अपने एप्लिकेशन के लिए उपयोगकर्ता प्रमाणीकरण सेट कर लिया है। निष्कर्ष इस ट्यूटोरियल में, हमने अपने एंड्रॉइड जावा एप्लिकेशन में उपयोगकर्ता प्रमाणीकरण जोड़ने के लिए फायरबेस का उपयोग किया। हमने एक एप्लिकेशन विकसित किया है जहां उपयोगकर्ता खाते बना सकते हैं, साइन अप कर सकते हैं और साइन आउट कर सकते हैं। हमने यह भी कवर किया कि एंड्रॉइड फोन को एमुलेटर के रूप में कैसे उपयोग किया जाए। एंड्रॉइड ऐप डेवलपमेंट में फायरबेस के बारे में अपने ज्ञान का विस्तार करने के लिए, एंड्रॉइड और फायरबेस दस्तावेज़ देखें।