एंड्रॉइड डेवलपमेंट के लिए अपनी खुद की लाइब्रेरी कैसे बनाएं जो आपके द्वारा लिखे गए प्रत्येक प्रोग्राम में उपयोग की जाए?


99

मैं एक डेल्फी प्रोग्रामर हूं और मैंने लिखा है, वर्षों में, सैकड़ों कक्षाएं और दिनचर्याएं जो मैं अपने हर डेल्फी प्रोग्राम में लिख सकता हूं।

इस लाइब्रेरी को dlib कहा जाता है और हर डेल्फी प्रोग्राम में इसका उपयोग मेरी लाइब्रेरी पथ में डालकर और डेल्फी यूनिट के उपयोग अनुभाग में एक यूनिट का उपयोग करके किया जा सकता है

जावा और एंड्रॉइड विकास के लिए पूरी तरह से नया होने के नाते, मैं सोच रहा हूं कि यह समान तरीके से कैसे किया जाए।

तो मेरा सवाल है, मैं अपनी कक्षाएं कैसे लिख सकता हूं, उन्हें किसी वैश्विक फ़ोल्डर में डाल सकता हूं, और मेरे द्वारा लिखे गए प्रत्येक एंड्रॉइड प्रोग्राम में इन कक्षाओं और दिनचर्या का उपयोग कर सकता है ?

मुझे पता है कि यह एक बुनियादी सवाल है, जिसे मैं शायद Google पर खोज कर और ग्रहण में आज़माकर देख सकता हूं, लेकिन अगर कोई मुझे सही रास्ते पर रख सकता है, तो मुझे पता है कि मैं बहुत समय बचाऊंगा।

धन्यवाद।


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

जवाबों:


94

आपको Android लाइब्रेरी प्रोजेक्ट बनाना होगा। ग्रहण में एंड्रॉइड प्रोजेक्ट बनाएं, प्रोजेक्ट गुण दर्ज करें -> एंड्रॉइड और आई-लूप संपत्ति की जांच करें। अब आप इस लाइब्रेरी को अपने Android एप्लिकेशन प्रोजेक्ट में उसी प्रॉपर्टी पेज पर सूची में जोड़कर जोड़ सकते हैं।

लाइब्रेरी प्रोजेक्ट्स अनुभाग के साथ काम करने के बारे में अधिक विस्तृत निर्देश यहां दिए गए हैं


यदि दो अलग-अलग ऐप दोनों एक ही एंड्रॉइड लाइब्रेरी प्रोजेक्ट का उपयोग करते हैं, तो क्या एक ही लाइब्रेरी की दो प्रतियां स्थापित की जाती हैं, जब दोनों ऐप एक ही फोन पर इंस्टॉल किए जाते हैं?
enigmaticPhysicist

@enigmaticPhysicist पुस्तकालय वास्तव में संकलन समय पर खींचा गया है। तो हाँ, दोनों ऐप्स की लाइब्रेरी की अपनी प्रतियां उनके साथ हैं
रिचर्ड टिंगल

वहां एक बेहतर तरीका हो गया है। शायद एंड्रॉइड के भविष्य के संस्करण में।
enigmaticPhysicist

10

Android Studio में लाइब्रेरी बनाने के निर्देश :

लाइब्रेरी मॉड्यूल बनाएं

अपनी परियोजना में एक नया पुस्तकालय मॉड्यूल बनाने के लिए, निम्नानुसार आगे बढ़ें:

  1. फ़ाइल> नया> नया मॉड्यूल पर क्लिक करें ।

  2. में नए मॉड्यूल बनाएं दिखाई देने वाली विंडो, एंड्रॉयड लाइब्रेरी क्लिक करें, फिर अगला क्लिक करें।

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

  3. अपनी लाइब्रेरी को एक नाम दें और लाइब्रेरी में कोड के लिए एक न्यूनतम एसडीके संस्करण चुनें, फिर समाप्त पर क्लिक करें

ग्रैडल प्रोजेक्ट सिंक पूरा हो जाने पर, लाइब्रेरी मॉड्यूल बाईं ओर प्रोजेक्ट पैनल में दिखाई देता है । यदि आप नया मॉड्यूल फ़ोल्डर नहीं देखते हैं, तो सुनिश्चित करें कि यह Android दृश्य प्रदर्शित कर रहा है

एक ऐप मॉड्यूल को लाइब्रेरी मॉड्यूल में बदलें

यदि आपके पास एक मौजूदा ऐप मॉड्यूल है, जिसके सभी कोड आप पुन: उपयोग करना चाहते हैं, तो आप इसे लाइब्रेरी मॉड्यूल में बदल सकते हैं:

  1. मॉड्यूल-स्तरीय build.gradleफ़ाइल खोलें ।

  2. के लिए लाइन हटाएं applicationId। केवल एक एंड्रॉइड ऐप मॉड्यूल इसे परिभाषित कर सकता है।

  3. फ़ाइल के शीर्ष पर, आपको निम्नलिखित को देखना चाहिए:

    apply plugin: 'com.android.application'

    इसे निम्न में बदलें:

    apply plugin: 'com.android.library'

    फ़ाइल को सहेजें और टूल> एंड्रॉइड> सिंक प्रोजेक्ट के साथ ग्रेड फ़ाइल पर क्लिक करें ।


इस उत्तर को जोड़ने के लिए धन्यवाद, यह एंड्रॉइड स्टूडियो के साथ बहुत बेहतर है।
डेविड अर्गल थैकर

7

अगर आपकी लाइब्रेरी java कोड से बनी .java फाइलों में है। Mobile.tutsplus.com पर लाइब्रेरी का उपयोग करने का एक बहुत विस्तृत ट्यूटोरियल है। लिंक नीचे है:

http://mobile.tutsplus.com/tutorials/android/android-essentials-creating-android-compliant-libraries/

उदाहरण के लिए मैं Github.com पर क्रिसबानेस द्वारा पुले टू रिफ्रेश लाइब्रेरी का उपयोग करना चाहता था यहां https://github.com/chrisbanes/Android-PullToRefresh/tree/master/library । लाइब्रेरी की संरचना एक एंड्रॉइड ऐप के रूप में है। इसका रूप नीचे दिया गया है:

res/
src/
AndroidManifest.xml
pom.xml
project.properties

ग्रहण पर कैसे उपयोग करें:

  1. ग्रहण में नई परियोजना बनाएँ। अपने प्रोजेक्ट को एक नाम दें। "मौजूदा स्रोत से प्रोजेक्ट बनाएं" चुनें। "स्थान" में उपर्युक्त फाइलों वाले रूट फ़ोल्डर का स्थान चुनें। अपना लक्ष्य चुनें और फिनिश पर क्लिक करें।
  2. आपके द्वारा बनाई गई नई परियोजना के गुणों का चयन करें। "Android" विकल्प चुनें। यदि यह पहले से चयनित नहीं है, तो "Is Library" चेकबॉक्स चुनें। निकट गुण।
  3. इस लाइब्रेरी का उपयोग करने जा रहे प्रोजेक्ट से लाइब्रेरी का संदर्भ जोड़ें। इस लाइब्रेरी का उपयोग करने वाले अपने प्रोजेक्ट का चयन करें। खुला गुण। "Android" विकल्प चुनें। "ईज़ लाइब्रेरी" में सबसे नीचे। "Is Library" के चेकबॉक्स का चयन न करें। दाईं ओर "जोड़ें" बटन पर क्लिक करें। आपका प्रोजेक्ट जो आपने चरण 1 और 2 पर बनाया है, चयन के लिए तैयार होना चाहिए। इसे चुनें और आवेदन पर क्लिक करें। निकट गुण।
  4. आप अपनी परियोजना से कक्षाओं को संदर्भित करने के लिए तैयार हैं।

धन्यवाद यह मेरी मदद करो ... हमारे fgroupind इंडोनेशिया टीम से संबंध: डी
gumuruh

4

जावा के साथ, आप एक जावा संग्रह (जार) है कि पुस्तकालय के अपने सभी वर्गों (* .class फ़ाइलें) और जार फ़ाइल बनाने के है अपने पुस्तकालय।

इसका उपयोग करने के लिए, बस इसे क्लासपाथ में जोड़ें ।

("जार" और "क्लासपैथ" के लिए: मूल जावा अवधारणाएँ, कृपया ट्यूटोरियल खोजने के लिए Google का उपयोग करें, आपको उन अवधारणाओं को वैसे भी समझना होगा, जितनी जल्दी, उतना बेहतर;)


2
नमस्ते, क्या मेरे जार लाइब्रराय में ड्रॉइबल्स या लेआउट हो सकते हैं?
महेंद्रन

afaik, उत्तर है: नहीं। चित्र और लेआउट के लिए स्वीकृत उत्तर में वर्णित के रूप में Android पुस्तकालय अवधारणा का उपयोग करें।
मिन्स्की

2

अपनी सभी कक्षा को जावा में परिवर्तित करें और जार फ़ाइल बनाएँ। अपने एंड्रॉइड प्रोजेक्ट में इस जार का उपयोग lib / folder में कॉपी करके और फिर पथ बनाने के लिए करें। प्रोजेक्ट की सफाई करें और फिर उसे चलाएं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.