September 21, 2021

www.panhinda.info

best mobile phone software and drivers update 2021

Android Developers Blog: Jetpack में नया क्या है?

what's new in jetpack image

Android Jetpack पुस्तकालयों, उपकरणों और मार्गदर्शन का एक सूट है जो डेवलपर्स को सर्वोत्तम प्रथाओं का पालन करने, बॉयलरप्लेट कोड को कम करने और कोड लिखने में मदद करता है जो Android संस्करणों और उपकरणों पर लगातार काम करता है। आज, Google Play पर शीर्ष 1000 ऐप्स में से 84% जेटपैक पर निर्भर हैं।

यहां जेटपैक में नवीनतम अपडेट का एक राउंड-अप है – जेटपैक टॉक में हमारे व्हाट्स न्यू का एक विस्तारित संस्करण!

स्थिर में नया

कैमराX

कैमराएक्स लाइब्रेरी ओएस संस्करणों में कैमरा कार्यक्षमता तक पहुंचने के लिए एक एकीकृत एपीआई सतह प्रदान करती है, जिसमें डिवाइस-विशिष्ट संगतता सुधार और वर्कअराउंड शामिल हैं। लाइब्रेरी में कुछ नवीनतम सुधार सामान्य सुविधा अनुरोधों को संबोधित करते हैं, जिसमें एक्सपोज़र मुआवजे को समायोजित करने के लिए समर्थन और कैमरा स्थिति और सुविधाओं के बारे में अधिक विस्तृत जानकारी तक पहुंच शामिल है। इसके अतिरिक्त, एफपीएस रेंज जैसी कैमरा सेटिंग्स अब कैमरा 2 इंटरऑप के माध्यम से बदली जा सकती हैं, जबकि कैमरा चल रहा है। पुस्तकालय नवीनतम डिवाइस और ओएस सुविधाओं के लिए समर्थन भी लाता है, जिसमें उच्च-गतिशील-रेंज पूर्वावलोकन, ज़ूम अनुपात नियंत्रण और एंड्रॉइड के डू नॉट डिस्टर्ब मोड के लिए समर्थन शामिल है। शायद सबसे महत्वपूर्ण बात, हालांकि, पुस्तकालय ने प्रदर्शन को संबोधित करना जारी रखा है, जिसके परिणामस्वरूप तेजी से छवि कैप्चर और तेजी से आरंभीकरण, विशेष रूप से पुराने उपकरणों पर।

मूठ

हिल्ट जेटपैक का अनुशंसित निर्भरता इंजेक्शन समाधान है जो डैगर के शीर्ष पर बनाया गया है। स्थिर में संक्रमण के भाग के रूप में, हिल्ट का व्यूमोडेल समर्थन कोर हिल्ट एंड्रॉइड एपीआई में चला गया है और सेव्डस्टेटहैंडल को व्यूमोडेलकंपोनेंट में उपलब्ध डिफ़ॉल्ट निर्भरता के रूप में जोड़ा गया है। साथ ही, हिल्ट को अब नेविगेशन और कंपोज़ के साथ एकीकृत किया गया है: आप एक एनोटेटेड हिल्ट व्यूमॉडल प्राप्त कर सकते हैं जो किसी गंतव्य या नेविगेशन ग्राफ़ के लिए ही स्कोप है। डेवलपर्स ने पहले से ही अपने ऐप्स में हिल्ट का उपयोग करना शुरू कर दिया है। इस ब्लॉग पोस्ट में उनके अनुभव के बारे में पढ़ें।

पेजिंग 3.0

पेजिंग लाइब्रेरी आपको सुधार करने के लिए डेटा के छोटे हिस्से को लोड और प्रदर्शित करने की अनुमति देती है

नेटवर्क और सिस्टम संसाधन खपत। इस रिलीज़ में कोरआउट्स और फ़्लो के लिए प्रथम श्रेणी के समर्थन के साथ कोटलिन में एक पूर्ण पुनर्लेखन, RxJava और अमरूद प्राइमेटिव्स के साथ एसिंक्रोनस लोडिंग, और रिपॉजिटरी और प्रेजेंटेशन लेयर्स में समग्र सुधार शामिल हैं।

3.0 रिलीज पेजिंग 2 पर उपयोगिता में एक महत्वपूर्ण सुधार है, और पुनर्लेखन की योजना आंशिक और चरणबद्ध माइग्रेशन को ध्यान में रखकर बनाई गई थी ताकि डेवलपर्स अपने शेड्यूल पर संक्रमण कर सकें। विवरण और व्यावहारिक अनुभव के लिए पेजिंग 3.0 दस्तावेज़ीकरण और पेजिंग 3.0 कोडलैब देखें।

ConstraintLayout और MotionLayout

लेआउट डिजाइन करने के लिए जेटपैक की लचीली प्रणाली ConstraintLayout, और MotionLayout, गति और विजेट एनीमेशन के प्रबंधन के उद्देश्य से एक API, अब स्थिर हैं। MotionLayout में अब फोल्डेबल डिवाइस, इमेज फिल्टर और मोशन इफेक्ट के लिए सपोर्ट शामिल है। डिज़ाइन टूल में नया क्या है, इसके बारे में अधिक जानने के लिए, यह Google I/O टॉक देखें।

सुरक्षा क्रिप्टो

सुरक्षा क्रिप्टो लाइब्रेरी आपको फ़ाइलों और साझा प्राथमिकताओं को सुरक्षित और आसानी से एन्क्रिप्ट करने की अनुमति देती है। SharedPreferences को एन्क्रिप्ट करने के लिए, उपयुक्त कुंजी और योजना के साथ एक EncryptedSharedPreferences ऑब्जेक्ट बनाएं और फिर इसे एक मानक SharedPreferences ऑब्जेक्ट की तरह उपयोग करें।

वैल प्रीफ़्स: SharedPreferences = EncryptedSharedPreferences.create(
संदर्भ,
“prefs_file_name”,
मुख्य कुंजी,
PrefKeyEncryptionScheme = AES256_SIV,
prefValueEncryptionScheme = AES256_GCM,
)
// हमेशा की तरह परिणामी SharedPreferences ऑब्जेक्ट का उपयोग करें।
Prefs.संपादित करें ()
.putBoolean (“show_completed”, सत्य)
।लागू()

टुकड़ा

पिछले एक साल में, फ्रैगमेंट लाइब्रेरी ने अपने आंतरिक कार्यान्वयन को साफ करने और अनिर्दिष्ट व्यवहार को कम करने के लिए एक बड़ा प्रयास किया है, जिससे डेवलपर्स के लिए अपने ऐप में सर्वोत्तम प्रथाओं का पालन करना और विश्वसनीय परीक्षण लिखना आसान हो गया है। यह पुस्तकालय में भविष्य में सुधार के लिए आधार तैयार करता है, जैसे नेविगेशन में कई बैक स्टैक का समर्थन करना, और एपीआई अनुबंधों के सख्त प्रवर्तन को समायोजित करने के लिए इसे कुछ काम की आवश्यकता हो सकती है। व्यवहार में, आपको पुस्तकालय को अद्यतन करने के बाद अपने परीक्षणों पर सावधानीपूर्वक ध्यान देना चाहिए। विशिष्ट मामलों को देखने के लिए फ़्रैगमेंट रिलीज़ नोट देखें।

हाल के रिलीज ने एक्टिविटी रिसेट इंटीग्रेशन भी पेश किया है, जिससे फ्रैगमेंट से गतिविधि परिणामों के लिए पंजीकरण करना संभव हो गया है। Fragment ने कम-लचीले onAttachFragment विधि को बदलने के लिए एक नया FragmentOnAttachListener इंटरफ़ेस भी जोड़ा है। Fragment या FragmentActivity में इस पद्धति को ओवरराइड करने वाला मौजूदा कोड अभी भी काम करेगा, लेकिन हमने नए कोड को गलती से कम-लचीला दृष्टिकोण अपनाने से रोकने में मदद करने के लिए onAttachFragment को हटा दिया है।

// टुकड़ा प्रबंधक प्राप्त करें। एक चाइल्डफ्रैगमेंट मैनेजर हो सकता है,
// यदि एक टुकड़े में, बच्चे के लगाव का निरीक्षण करने के लिए।
वैल एफएम = सपोर्टफ्रैगमेंटमैनेजर

वैल श्रोता = FragmentOnAttachListener {
खंड प्रबंधक, खंड ->
// संलग्न किए जा रहे टुकड़े का जवाब दें।
}

fm.addFragmentOnAttachListener (श्रोता)
बीटा में नया

एक बार पुस्तकालय की सुविधा पूर्ण हो जाने पर यह स्थिरीकरण के लिए बीटा में चला जाता है। इस समय, एपीआई केवल महत्वपूर्ण के जवाब में बदलते हैं

मुकदमा या सामुदायिक प्रतिक्रिया।

डेटा भंडार

डेटास्टोर एक मजबूत डेटा स्टोरेज समाधान प्रदान करता है जो एक सरल, अत्यधिक प्रयोग करने योग्य एपीआई सतह को बनाए रखते हुए SharedPreferences की कमियों को दूर करता है। डेटास्टोर फ्लो और आरएक्सजावा के साथ कोटलिन कोरआउटिन जैसी सर्वोत्तम प्रथाओं के लिए समर्थन लाता है। डेटास्टोर आपको प्रोटो डेटास्टोर के माध्यम से, वरीयता डेटास्टोर या प्रोटोकॉल बफर द्वारा समर्थित टाइप की गई वस्तुओं के माध्यम से कुंजी-मूल्य जोड़े को स्टोर करने की अनुमति देता है। आप अपने स्वयं के क्रमांकन समाधान को भी प्लग इन कर सकते हैं, जैसे कोटलिन सीरियलाइज़ेशन।

अल्फा में नया

अल्फा पुस्तकालय सक्रिय विकास के तहत पुस्तकालय हैं—एपीआई को जोड़ा, बदला या हटाया जा सकता है, लेकिन पुस्तकालय में जो है उसका परीक्षण किया जाता है और अत्यधिक कार्यात्मक होना चाहिए।

ऐप खोज

ऐपसर्च एक नई ऑन-डिवाइस खोज लाइब्रेरी है जो उच्च प्रदर्शन और सुविधा संपन्न पूर्ण-पाठ खोज कार्यक्षमता प्रदान करती है। SQLite की तुलना में, AppSearch कई विश्व भाषाओं का समर्थन करता है, रैंकिंग क्वेरी परिणामों को सरल करता है, और बड़े डेटासेट पर अनुक्रमण और खोज के लिए कम विलंबता प्रदान करता है।

AppSearch 1.0.0-alpha01 को LocalStorage समर्थन के साथ जारी किया गया है, जो आपके एप्लिकेशन को “दस्तावेज़” कहे जाने वाले संरचित डेटा को प्रबंधित करने और फिर उस पर क्वेरी करने की अनुमति देता है। आपका एप्लिकेशन परिभाषित करता है कि “स्कीमा प्रकार” का उपयोग करके संरचना कैसी दिखती है। उदाहरण के लिए, आप एक संदेश को स्कीमा प्रकार के रूप में विषय, मुख्य भाग और प्रेषक जैसे डेटा के साथ मॉडल कर सकते हैं।

स्कीमा प्रकार के दस्तावेज़ बनाने के लिए बिल्डर्स का उपयोग करें और फिर उन्हें स्टोरेज में जोड़ें। “बॉडी:फ्रूट” के लिए क्वेरी करने से मैसेज के बॉडी में “फ्रूट” शब्द के साथ सभी दस्तावेज पुनः प्राप्त हो जाएंगे।

Android S में, AppSearch भी PlatformStorage की पेशकश करेगा ताकि आप अपने एप्लिकेशन के डेटा को अन्य एप्लिकेशन के साथ सुरक्षित रूप से साझा कर सकें, और अतिरिक्त देशी पुस्तकालयों को लिंक न करके अपने एप्लिकेशन के बाइनरी आकार को कम कर सकें। यह वर्तमान में Jetpack में उपलब्ध नहीं है क्योंकि पुस्तकालय अभी तक Android S SDK को लक्षित नहीं करता है।

Centralized storage on Android S+ for integrating into device-wide search

डिवाइस-व्यापी खोज में एकीकृत करने के लिए Android S+ पर केंद्रीकृत संग्रहण

कक्ष

कक्ष अनुशंसित डेटा दृढ़ता परत है, जो प्लेटफ़ॉर्म पर बढ़ी हुई उपयोगिता और सुरक्षा प्रदान करती है।

कमरा २.४.०-अल्फा ऑटो-माइग्रेशन के लिए समर्थन लाता है। जब आपका डेटाबेस स्कीमा बदलता है, तो आप अब एक @AutoMigration घोषित करते हैं और इंगित करते हैं कि आप किस संस्करण से किस संस्करण में माइग्रेट करना चाहते हैं, और रूम आपके लिए माइग्रेशन जेनरेट करता है। अधिक जटिल माइग्रेशन के लिए, आप अभी भी माइग्रेशन वर्ग का उपयोग कर सकते हैं:

@डेटाबेस(
– संस्करण = 1,
+ संस्करण = २,
संस्थाएं = { Doggos.class },
+ ऑटोमाइग्रेशन = {
+ @AutoMigration (= 1 से = 2 तक)
+ }
)
सार्वजनिक सार वर्ग डॉगगोसडेटाबेस रूमडेटाबेस का विस्तार करता है { }

कक्ष 2.3.0 स्थिर संस्करण कोटलिन प्रतीक प्रसंस्करण के लिए प्रयोगात्मक समर्थन लाता है, जो कोटलिन कोड के हमारे बेंचमार्क में केएपीटी पर 2x गति सुधार के साथ-साथ एनम और आरएक्सजावा 3 के लिए अंतर्निहित समर्थन दिखाता है।

रूम ने एक QueryCallback वर्ग भी पेश किया है – जो लॉगिंग जैसे कार्यों को सरल बनाने के लिए SQLite कथन निष्पादित होने पर कॉलबैक प्रदान करता है – साथ ही साथ नया @ProvidedTypeConverter एनोटेशन, जो टाइप कन्वर्टर्स बनाते समय अधिक लचीलेपन की अनुमति देता है।

कार्य प्रबंधक

वर्कमैनेजर लाइब्रेरी- ऐप से बाहर निकलने या डिवाइस के पुनरारंभ होने पर भी चलने योग्य, अतुल्यकालिक कार्यों को शेड्यूल करने के लिए एंड्रॉइड का अनुशंसित तरीका- ने कार्य सामंजस्य के साथ विश्वसनीयता में सुधार किया है, यह सुनिश्चित करता है कि सभी कार्यों को निष्पादित किया गया है, और विशिष्ट एंड्रॉइड ओएस संस्करणों के लिए विभिन्न प्रकार के वर्कअराउंड हैं। .

वर्कमैनेजर के नवीनतम संस्करण बहु-प्रक्रिया ऐप्स के लिए बेहतर समर्थन प्रदान करते हैं, जिसमें कार्य अनुरोध शेड्यूलिंग को एकल प्रक्रिया में एकीकृत करने और कई अनुरोधों को शेड्यूल करते समय डेटाबेस वृद्धि को सीमित करने से प्रदर्शन लाभ शामिल हैं।

संस्करण २.७—अब अल्फा में, जो एंड्रॉइड एस एसडीके के लिए लक्षित है—प्लेटफॉर्म के नए अग्रभूमि प्रतिबंधों के लिए अतिरिक्त समर्थन प्रदान करता है। अधिक विवरण के लिए Android टॉक पर प्रभावी पृष्ठभूमि कार्य देखें।

बैकग्राउंड टास्क इंस्पेक्टर एंड्रॉइड स्टूडियो आर्कटिक फॉक्स में उपलब्ध है, जिससे आप लाइब्रेरी के नवीनतम संस्करणों का उपयोग करते समय वर्कमैनेजर जॉब्स को आसानी से देख और डिबग कर सकते हैं:

background tasts inspector

पृष्ठभूमि कार्य निरीक्षक

मार्गदर्शन

नेविगेशन लाइब्रेरी, एक ऐप में गंतव्यों के बीच जाने के लिए जेटपैक का ढांचा, अब कई बैकस्टैक के लिए समर्थन प्रदान करता है और उन मामलों को सरल करता है जहां गंतव्य एक ही गहराई पर बैठते हैं, जैसे कि निचला नेविगेशन बार।

मैक्रोबेंचमार्क

मैक्रोबेंचमार्क लाइब्रेरी जेटपैक के बेंचमार्किंग कवरेज को ऐप स्टार्टअप और स्क्रॉलिंग प्रदर्शन जैसे एकीकृत व्यवहार तक बढ़ाती है। निरंतर एकीकरण परीक्षण में या स्थानीय रूप से एंड्रॉइड स्टूडियो से देखे जा सकने वाले प्रोफाइलिंग परिणामों के साथ मेट्रिक्स को ट्रैक करने के लिए लाइब्रेरी का उपयोग दूरस्थ रूप से किया जा सकता है। सभी विवरणों पर Google I/O वार्ता देखें:

उन डेवलपर्स के लिए जो Google सहायक के साथ अधिक निकटता से एकीकृत करना चाहते हैं, Google शॉर्टकट लाइब्रेरी मौजूदा शॉर्टकटइन्फो क्लास के माध्यम से Google सहायक और अन्य Google सेवाओं के कार्यों को उजागर करने का एक तरीका प्रदान करती है।

आप Google सहायक पर दिखाए जाने वाले शॉर्टकट प्रबंधक के माध्यम से एक बार में पंद्रह शॉर्टकट भेज सकते हैं, अन्य सेवाओं के साथ, उन्हें आवाज और अन्य इंटरैक्शन के लिए उपलब्ध करा सकते हैं।

इसे लागू करने के लिए, एक आशय और एक क्षमता बंधन के साथ एक शॉर्टकट परिभाषित करें; यह बाइंडिंग शब्दार्थ-सार्थक जानकारी प्रदान करती है जो Google सेवाओं को इसे उपयोगकर्ताओं के सामने पेश करने का सबसे अच्छा तरीका खोजने में मदद करेगी।

// Google सहायक और अन्य सेवाओं के लिए “कैप्पुकिनो” कार्रवाई को उजागर करें
ShortcutInfoCompat siCompat =
ShortcutInfoCompat.Builder(ctx, “id_cappuccino”)
.setShortLabel (“कैप्पुकिनो”)
.setIntent (इरादा (ctx, OrderCappuccino :: class.java))
.addCapability बाइंडिंग (
“actions.intent.ORDER_MENU_ITEM”,
“मेनूआइटम.नाम”,
asList (“कैप्पुकिनो”)
)
।निर्माण()

ShortcutManagerCompat.pushDynamicShortcut(ctx, siCompat)

इमोजी कॉम्पैट

आपके ऐप में सभी उपयोगकर्ता-जनित सामग्री में है, और आधुनिक इमोजी का समर्थन करना आपके ऐप को ✨ बनाने का एक महत्वपूर्ण हिस्सा है! इमोजी कॉम्पैट लाइब्रेरी, जो एपीआई 19 और उच्चतर पर आधुनिक इमोजी का समर्थन करती है, एक नए आर्टिफैक्ट में चली गई है: इमोजी 2: इमोजी 2, जो पिछले: इमोजी: इमोजी आर्टिफैक्ट को बदल देता है। नई इमोजी 2 लाइब्रेरी ऐपस्टार्टअप लाइब्रेरी का उपयोग करके 🪄 स्वचालित कॉन्फ़िगरेशन जोड़ती है (आपको ‍❄️ प्रदर्शित करने के लिए कोई कोड जोड़ने की आवश्यकता नहीं है)!

AppCompat, AppCompat 1.4 से शुरू होकर इमोजी 2 जोड़ता है। यदि आपका ऐप AppCompat का उपयोग करता है, तो उपयोगकर्ता बिना किसी और कॉन्फ़िगरेशन के आधुनिक इमोजी देखेंगे। जो ऐप्स AppCompat का उपयोग नहीं कर रहे हैं वे जोड़ सकते हैं :emoji2:emoji2-views. कस्टम टेक्स्ट व्यू के लिए, आप :emoji2:emoji2-views-helpers में हेल्पर्स का उपयोग करके या AppCompat व्यू को सबक्लास करके आधुनिक इमोजी का समर्थन कर सकते हैं।

जेटपैक लिखें

Jetpack Compose, नेटिव UI बनाने के लिए Android का आधुनिक टूलकिट है। यह एंड्रॉइड पर यूआई विकास को सरल और तेज करता है। Jetpack Compose अभी बीटा में है, और जुलाई में स्थिर होने की योजना है। यहां सूचीबद्ध कई पुस्तकालयों, साथ ही साथ अन्य जिनका आप पहले से उपयोग कर रहे हैं, ने विशेष रूप से Jetpack Compose के साथ एकीकरण के लिए सुविधाएँ पेश की हैं। गतिविधि से लेकर व्यूमॉडल, नेविगेशन, या हिल्ट तक, ये सभी लाइब्रेरी आपके ऐप में कंपोज़ को अपनाना आसान बना सकती हैं। इस Google I/O वार्ता से उनका उपयोग करने के तरीके के बारे में अधिक जानकारी प्राप्त करें:

फ़ार्म के कारक

Jetpack अलग-अलग फॉर्म फैक्टर के साथ काम करना आसान बनाता है, जिसमें फोल्डेबल, बड़े स्क्रीन वाले डिवाइस और वियर डिवाइस शामिल हैं। हमने बड़ी स्क्रीन के विकास के लिए नए दिशानिर्देश पेश किए हैं, साथ ही जेटपैक पुस्तकालयों जैसे कि WindowManager और SlidingPaneLayout में सुधार किया है। इस ब्लॉग पोस्ट में सभी विवरण पढ़ें।

निष्कर्ष

यह जेटपैक में नया क्या है, इसका (अपेक्षाकृत) त्वरित अवलोकन था। प्रत्येक पुस्तकालय के सभी अद्यतन विवरणों के लिए AndroidX रिलीज़ नोट देखें और उनमें से कुछ के बारे में अधिक जानकारी के लिए Google I/O वार्ता।