2011-10-04 21 views
6

के लिए कोड फाइल/एक्सएमएल फाइलों को व्यवस्थित करना कोई मेरी परियोजना को व्यवस्थित करने के लिए कुछ रणनीतियों को प्रदान कर सकता है ताकि यह साफ हो? कहो मेरे पास गतिविधियों का एक गुच्छा है; क्या उन्हें सभी को एक अलग पैकेज में रखना अच्छा है, जबकि अन्य वर्गों (जैसे कि कस्टम एडाप्टर) को किसी अन्य पैकेज में "तर्क" को अलग करने के लिए बेहतर रखना है?एंड्रॉइड एसडीके

साथ ही, लेआउट के लिए एक्सएमएल फाइलें बनाते समय, मैं लेआउट एक्सएमएल फाइलों को तार्किक रूप से अलग कैसे करूं यदि मेरे पास कुछ लेआउट हैं जो कुछ गतिविधियों के लिए हैं और कस्टम "पंक्तियों" (एडाप्टर के साथ उपयोग करने के लिए) के लिए अन्य एक्सएमएल लेआउट फाइलें हैं I बस उन्हें सभी को res/layout में फेंकना नहीं चाहते हैं - जब परियोजना वास्तव में बड़ी हो जाती है तो यह इतनी बड़ी परेशानी बन जाएगी।

उत्तर

8

कहें कि मेरे पास गतिविधियों का एक समूह है; यह उन सब को एक अलग पैकेज में जगह अच्छा, जबकि एक अन्य पैकेज को अलग करने में (जैसे कस्टम एडेप्टर के रूप में) अन्य वर्गों डाल "तर्क" बेहतर है?

मुझे यकीन है कि क्या सर्वोत्तम प्रथाओं हैं नहीं कर रहा हूँ, लेकिन यहाँ मैं अपने एप्लिकेशन को व्यवस्थित करने के लिए: मैं com.foo.appname.utils में com.foo.appname.activity में मेरी गतिविधियों डाल करने के लिए करते हैं, com.foo.appname.service में com.foo.appname.content में सामग्री प्रदाताओं, सेवाओं, और सामान्य उपयोगिताओं।

Adapters जैसे सहायक वर्गों के लिए केवल एक गतिविधि द्वारा उपयोग किया जाता है, मैं आम तौर पर उन्हें स्थिर आंतरिक कक्षाएं बना देता हूं। यदि वे कई गतिविधियों में उपयोग किए जाते हैं, तो मैं उन्हें गतिविधि पैकेज में पैकेज स्तर की दृश्यता देता हूं।

मैं सिर्फ उन सब में रेस/लेआउट फेंक नहीं करना चाहती

मुझे नहीं लगता कि कि res निर्देशिका उपनिर्देशिका की अनुमति दी जाती है, तो सबसे अच्छा तुम कर सकते हो आना बाकी है एक अच्छी नामकरण योजना के साथ। मैं आम तौर पर प्रकार के साथ लेआउट फ़ाइल को उपसर्ग करता हूं: activity_foo.xml, fragment_foo.xml, आदि

+0

यह अच्छी चीजें है, धन्यवाद एरिच! – volk

2

ये सभी सुझाव निश्चित रूप से आपकी पसंद हैं। लेकिन जब मैं कुछ विकसित करता हूं, तो मैं लॉजिकल लेयर को "दृश्यमान" परतों और कक्षाओं से अलग करने के लिए उपयोग करता हूं। मेरा मतलब है कि मैं मैं भी उन सभी के लिए अलग-अलग पैकेज बनाते हैं, ताकि आप उन्हें बेहतर ढंग से व्यवस्थित कर सकते हैं के लिए

a) Activites 
b) Classes or Objects 
c) Interface classes 
d) Database classes 
e) Interaction with Database 

विभिन्न संकुल का उपयोग करें। लेकिन यह हमेशा आपकी पसंद है।

और अपने लेआउट के साथ ... मैं आप बेहतर लेआउट व्यवस्थित कर सकते हैं, तो पता नहीं है। जब आप अपनी प्रोजेक्ट जेनरेट करते हैं, यदि आप देखते हैं, तो आपके जेन फ़ोल्डर में आरजेजा क्लास है। वह वर्ग लेआउट, ड्रायबल, कच्चे जैसे फ़ोल्डर्स को स्वतः पहचानता है ... लेकिन मुझे यकीन नहीं है कि क्या आप इसके अंदर उपफोल्डर्स बना सकते हैं।

संबंधित मुद्दे