अब मैं अनुरोध कोड के लिए यादृच्छिक संख्या का उपयोग कर रहा हूं। इसलिए, हर बार जब मैं startActivityForResult के लिए नई गतिविधि जोड़ता हूं तो मुझे टकराव से बचने के लिए ऐसी सभी अन्य गतिविधियों की जांच करने की आवश्यकता होती है। मूल्यों को परिभाषित करने के लिए कोई प्रथाएं हो सकती हैं, डिज़ाइन द्वारा गैर-टिकाऊ? आपको क्या लगता है?एंड्रॉइड में अनुरोध कोड मानों के लिए कोई सिफारिशें हैं?
उत्तर
यदि आपको अभी भी किसी गतिविधि के परिणाम की जांच करने की आवश्यकता है और दृष्टि से पॉलिश संरचनाओं कृपया इस विधि की जांच करें। जब गतिविधि शुरू करने
class RequestCode {
static final int IMPORT = 100;
static final int WRITE_PERMISSION = 101;
}
कोड का उपयोग करें:
अपनी गतिविधि वर्ग के भीतर आंतरिक वर्ग घोषित
startActivityForResult(intent, RequestCode.IMPORT);
परिणाम की जाँच करें:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RequestCode.IMPORT && resultCode == RESULT_OK) {
//...
}
}
एक संख्या में वृद्धि करने के लिए टकराव मुक्त होने की गारंटी है (जब तक यह लपेटता है)। वास्तव में तब तक नहीं होना चाहिए जब तक कि आप उनमें से बहुत से उपयोग न करें।
आप अपनी परियोजना में एक कक्षा जोड़ सकते हैं जो आपको नंबर देता है। उदाहरण
public class GlobalStuff {
private static final AtomicInteger seed = new AtomicInteger();
public static int getFreshInt() {
return seed.incrementAndGet();
}
}
अब
अपने कोड में, के लिए जब भी आप
public void doSomething() {
startActivityForResult(intentA, 342);
}
के बजाय एक नंबर का उपयोग करना जैसे
private static final int REQUEST_CODE = GlobalStuff.getFreshInt();
public void doSomething() {
startActivityForResult(intentA, REQUEST_CODE);
}
यह करना है और आप सुरक्षित है कि आप का उपयोग नहीं करते हैं दो बार एक ही संख्या। कम से कम कोड एक ही प्रक्रिया में चलाता है।
केवल समस्या यह है कि आप एक switch
बयान में उन नंबरों का उपयोग नहीं कर सकते हैं (case REQUEST_CODE:
के रूप में) क्योंकि स्विच संख्या कि संकलन समय पर जाना जाता है की जरूरत है
क्या आप इसे वैश्विक हैशप की सहायता से स्विच स्टेटमेंट में उपयोग कर सकते हैं, शायद? – creitve
यह दृष्टिकोण बहुत अच्छा काम करता है .. जब तक कोई तृतीय पक्ष लाइब्रेरी कुछ ऐसा करने का निर्णय नहीं लेती। –
वास्तव में आप की जाँच करने की जरूरत नहीं है सब अपने गतिविधियां और इससे कोई फर्क नहीं पड़ता कि आपके पास अलग-अलग गतिविधियों में समान मूल्य हैं।
अनुरोध कोड के लिए विचार यह है कि आप onActivityResult()
में अपने गतिविधि एक्स में startActivityForResult()
के साथ शुरू किए गए विभिन्न अनुरोधों के परिणामों के बीच अंतर कर सकते हैं।
तो अगर आप अपनी गतिविधि में 3 अलग startActivityForResult()
कॉल है, तो आप क्रम में 3 अलग अनुरोध कोड की आवश्यकता onActivityResult()
में उन दोनों के बीच भेद करने के लिए सक्षम होने के लिए की जाती है - तो आप बता सकते हैं जो परिणाम अंतर्गत आता है जो करने के लिए शुरू । लेकिन अगर आपके पास एक और गतिविधि वाई है जहां आप कुछ ऐसा कर रहे हैं, तो इससे कोई फर्क नहीं पड़ता कि अनुरोध कोड वहां गतिविधि एक्स जैसे हैं।
- 1. एंड्रॉइड पर डेटा रखने के लिए सिफारिशें?
- 2. सी प्रोफाइलर्स के लिए सिफारिशें?
- 3. एंड्रॉइड: अनुरोध कोड और परिणाम कोड
- 4. पर्ल सीखने के लिए सिफारिशें?
- 5. सी ++ प्रोफाइलिंग टूल के लिए सिफारिशें
- 6. जावा + ओपनपीजीपी के लिए सिफारिशें?
- 7. jQuery टूलटिप्स के लिए सिफारिशें
- 8. स्वीवे दस्तावेज़ों के विकास के लिए सिफारिशें
- 9. ड्रॉपडाउन मेनू आइटम के लिए सिफारिशें जो बहुत व्यापक हैं?
- 10. आईसीनियम अनुभव और सिफारिशें
- 11. एंड्रॉइड: मूल कोड प्रोफाइलिंग के लिए कोई उपकरण है?
- 12. अच्छे एआई संदर्भों के लिए आवश्यक सिफारिशें
- 13. MongoDB स्कीमा डिज़ाइन के लिए सिफारिशें
- 14. 'सी' परियोजना वास्तुकला दिशानिर्देशों के लिए सिफारिशें?
- 15. कोई भी स्नेल मेल एपीआई सिफारिशें?
- 16. एसवीएन से तैनाती के लिए कोई सिफारिशें, मेरे कोड में स्वचालित रूप से लिखे गए संस्करण संख्याओं के साथ?
- 17. एक अच्छा vi संदर्भ के लिए सिफारिशें?
- 18. मैक पर पायथन विकास के लिए सिफारिशें?
- 19. जावास्क्रिप्ट के लिए एक अनुभवी प्रोग्रामर के लिए सिफारिशें?
- 20. आर में कार्यों के "गतिशील/इंटरैक्टिव" डीबगिंग के लिए सिफारिशें?
- 21. रेल न्यूबी: नियंत्रक में त्रुटि प्रबंधन के लिए सिफारिशें
- 22. जावा के लिए एमपी 3/ध्वनि पुस्तकालयों के लिए कोई अच्छी सिफारिशें?
- 23. साबुन वेबसाइट सेवा परीक्षण ऐप्स के लिए सिफारिशें
- 24. एंड्रॉइड, आईफोन, आदि के लिए .NET वेब सेवा प्रारूप/प्रोटोकॉल के लिए सिफारिशें एकीकरण
- 25. एंड्रॉइड कोड में प्रोग्राम तापमान के रूप में कमरे के तापमान को खोजने/समझने के लिए कोई एंड्रॉइड एपीआई है?
- 26. कोड में एनम मानों और डेटाबेस में संबंधित मानों के बीच निर्भरताओं से कैसे बचें?
- 27. विंडोज़ फॉरम्स के लिए हेक्स व्यूअर कंट्रोल के लिए सिफारिशें?
- 28. एंड्रॉइड 2.1 में दर्ज EditTextPreference के प्रारूप और मानों को आप कैसे सत्यापित करते हैं?
- 29. एंड्रॉइड: कोड
- 30. एंड्रॉइड - अनुरोध शीर्षलेख
मैं सिर्फ यादृच्छिक संख्या का उपयोग करें (संकलन समय पर उत्पन्न), और कभी भी कोई समस्या नहीं थी - लेकिन यह एक अच्छा सवाल है। – Booger