RoboGuice के साथ आसान Android विकास
RoboGuice एक आवश्यक ढांचा है जो लाता है निर्भरता इंजेक्शन की सादगी और आसानी Android के लिए। जावा प्लेटफ़ॉर्म के लिए गिटार एक हल्का निर्भरता इंजेक्शन ढांचा है। डिपेंडेंसी इंजेक्शन एक डिज़ाइन पैटर्न है जिसके मूल प्रमुख हैं निर्भरता संकल्प से अलग व्यवहार.
इसे हटाने की अनुमति देता है “हार्ड कोडित” निर्भरता और उन्हें संकलन या चलाने के समय में बदलना संभव बनाता है। यह आपके बनाता है कोड लिखना, बदलना, यूनिट टेस्ट करना आसान है तथा अन्य संदर्भों में पुन: उपयोग. आपका कोड एक बॉयलरप्लेट कोड से कम और व्यावसायिक तर्क का अधिक हो जाता है.
RoboGuice के साथ, आप सभी को Android पर ला सकते हैं। RoboGuice आपको अनुमति देता है अपने आधार वर्गों का उपयोग करें अपने स्वयं के आवश्यक तरीकों या कार्यात्मकताओं के साथ। यह RoboGuice बनाता है अधिकांश पुस्तकालयों के साथ संगत के रूप में अच्छी तरह से आप पट्टी करने के लिए अनुमति देते हैं लगभग सभी प्लेटफ़ॉर्म बॉयलरप्लेट्स दृश्य इंजेक्शन, संसाधन इंजेक्शन, SystemService इंजेक्शन, आदि जैसे विभिन्न इंजेक्शन के माध्यम से.
सरल शब्दों में, अपने एंड्रॉइड प्रोजेक्ट में RoboGuice का उपयोग करना कम कोड लिखना, कम त्रुटियों से निपटना और कम सिरदर्द होना.
RoboGuice कैसे स्थापित करें
RoboGuice को अपने ग्रेडेल-आधारित प्रोजेक्ट में आसानी से अपने निम्न लाइनों को जोड़कर स्थापित किया जा सकता है “निर्भरता” आपके एप्लिकेशन मॉड्यूल की श्रेणी निर्माण फ़ाइल का अनुभाग:
प्रोजेक्ट। निर्भरताएँ संकलित 'org.roboguice: roboguice: 3. +' प्रदान 'org.roboguice: roboblender: 3. +'
RoboGuice का उपयोग कैसे करें
यदि आप इन बुनियादी नियमों का पालन करते हैं, तो रोबूगाइस का उपयोग करना आसान है:
1. अपनी कक्षाएं बढ़ाएँ RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, आदि जैसे उपयुक्त रोबोग्यूइस के आधार वर्गों से.
2. विचारों, संसाधनों या सेवाओं को इंजेक्ट करें RoboGuice द्वारा प्रदान किए गए विभिन्न एनोटेशन जैसे कि का उपयोग करना “@InjectView“, “@InjectResource“, “@Inject“, आदि.
बस। सरल, है ना? यदि आप परिचित हैं तो आप घर पर अधिक महसूस करेंगे जावा एनोटेशन.
नो रोबूगिसे बनाम रोबोग्यूइस
आइए तुलना करें कि इस छोटे से उदाहरण का उपयोग करके RoboGuice आपके कार्यभार को कैसे छोटा कर सकता है और आपकी उत्पादकता में सुधार कर सकता है। मान लीजिए हमारे पास ए “activity_main.xml” नीचे सूचीबद्ध सभी विचारों वाली लेआउट फ़ाइल.
ध्यान दें: कोड की समझ में सुधार के लिए टिप्पणियाँ जोड़ी जाती हैं.
कक्षा NoRoboGuice गतिविधि का विस्तार करता है // TextView नाम; इमेज व्यू थंबनेल; // सेवाएं लोकेशन मैन लोकेशन; // संसाधनों को आकर्षित करने योग्य आइकन; स्ट्रिंग myName; public void onCreate (बंडल सहेजी गई InstanceState) super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); // लेआउट नाम सेट करता है = (पाठ दृश्य) findViewById (R.id.name); // बॉयलरप्लेट इनिशियलाइज़ेशन थंबनेल = (इमेज व्यू) findViewById (R.id.thumbnail); // बॉयलरप्लेट आरंभीकरण स्थान = (स्थान प्रबंधक) getSystemService (Activity.LOCATION_SERVICE); // बॉयलरप्लेट इनिशियलाइज़ेशन आइकन = getResources ()। getDrawable (R.drawable.icon); // बॉयलरप्लेट आरंभीकरण myName = getString (R.string.app_name); // बॉयलरप्लेट इनिशियलाइज़ेशन name.setText ("हैलो," + myName); // वास्तविक कोड
यहां बताया गया है कि यह रोबो गुइसे के साथ कैसा दिखता है:
@ContentView (R.layout.activity_main) // लेआउट वर्ग सेट करता है RoboGuice RoboActivity का विस्तार करता है // views @InjectView (R.id.name) TextView नाम; @InjectView (R.id.thumbnail) ImageView थंबनेल; // resource @InjectResource (R.drawable.icon) ड्रा करने योग्य आइकन; @InjectResource (R.string.app_name) स्ट्रिंग myName; // सेवाएं @Inject LocationManager लोकेशन; public void onCreate (बंडल सहेजी गई InstanceState) super.onCreate (saveInstanceState); name.setText ("हैलो," + myName); // वास्तविक कोड
RoboGuice न केवल कोड को कम करता है, बल्कि स्रोत कोड की पठनीयता और समझ को बेहतर बनाने में भी मदद करता है। यह एप्लिकेशन विकास से अनुमान लगाता है और अब आपका एप्लिकेशन कोड नहीं है Android प्लेटफॉर्म के यांत्रिकी के साथ.
यह फायदा बहुत मदद करता है डिबगिंग के समय या अद्यतन करने एप्लिकेशन को आप आसानी से पढ़ सकते हैं और स्रोत कोड बदल सकते हैं। अब आपको बॉयलरप्लेट इनिशियलाइज़ेशन कोड के बीच वास्तविक कोड की खोज करने की आवश्यकता नहीं है केवल वास्तविक कोड मौजूद है और RoboGuice आपके लिए बॉयलरप्लेट इनिशियलाइज़ेशन स्वचालित रूप से करता है.