पूरक उत्तर: कुंजी स्ट्रिंग के लिए नामकरण परंपराएं
डेटा पास करने की वास्तविक प्रक्रिया का उत्तर पहले ही दिया जा चुका है, हालाँकि अधिकांश उत्तर आशय में प्रमुख नाम के लिए कठिन कोडित तारों का उपयोग करते हैं। यह आमतौर पर ठीक है जब केवल आपके ऐप के भीतर उपयोग किया जाता है। हालाँकि, दस्तावेज़EXTRA_*
मानकीकृत डेटा प्रकारों के लिए स्थिरांक का उपयोग करने की सलाह देता है ।
उदाहरण 1: Intent.EXTRA_*
कुंजियों का उपयोग करना
पहली गतिविधि
Intent intent = new Intent(getActivity(), SecondActivity.class);
intent.putExtra(Intent.EXTRA_TEXT, "my text");
startActivity(intent);
दूसरी गतिविधि:
Intent intent = getIntent();
String myText = intent.getExtras().getString(Intent.EXTRA_TEXT);
उदाहरण 2: खुद को परिभाषित करना static final
कुंजी
यदि Intent.EXTRA_*
स्ट्रिंग्स में से कोई भी आपकी आवश्यकताओं के अनुरूप नहीं है, तो आप पहली गतिविधि की शुरुआत में अपने स्वयं को परिभाषित कर सकते हैं।
static final String EXTRA_STUFF = "com.myPackageName.EXTRA_STUFF";
यदि आप केवल अपने ऐप में कुंजी का उपयोग कर रहे हैं, तो पैकेज नाम शामिल करना केवल एक सम्मेलन है। लेकिन यह नामकरण संघर्ष से बचने के लिए एक आवश्यकता है यदि आप किसी प्रकार की सेवा बना रहे हैं जिसे अन्य ऐप एक इंटेंट के साथ कॉल कर सकते हैं।
पहली गतिविधि:
Intent intent = new Intent(getActivity(), SecondActivity.class);
intent.putExtra(EXTRA_STUFF, "my text");
startActivity(intent);
दूसरी गतिविधि:
Intent intent = getIntent();
String myText = intent.getExtras().getString(FirstActivity.EXTRA_STUFF);
उदाहरण 3: स्ट्रिंग संसाधन कुंजी का उपयोग करना
यद्यपि प्रलेखन में उल्लेख नहीं किया गया है, यह उत्तर गतिविधियों के बीच निर्भरता से बचने के लिए स्ट्रिंग संसाधन का उपयोग करने की सलाह देता है।
strings.xml
<string name="EXTRA_STUFF">com.myPackageName.MY_NAME</string>
पहली गतिविधि
Intent intent = new Intent(getActivity(), SecondActivity.class);
intent.putExtra(getString(R.string.EXTRA_STUFF), "my text");
startActivity(intent);
दूसरी गतिविधि
Intent intent = getIntent();
String myText = intent.getExtras().getString(getString(R.string.EXTRA_STUFF));