क्रमांकन का उपयोग करके, हम दो गतिविधियों के बीच वस्तु की स्थिति या सरणी को पारित कर सकते हैं। कोड में जाने से पहले, हमें क्रमबद्धता के बारे में पता होना चाहिए और यह एंड्रॉइड में इरादे से कैसे काम करता है।
सीरियलाइज़ेशन एक मार्कर इंटरफ़ेस है। क्रमांकन का उपयोग करके, हम किसी वस्तु की स्थिति को बाइट स्ट्रीम में बदल सकते हैं। बाइट स्ट्रीम एक प्लेटफ़ॉर्म स्वतंत्र है, इसलिए यह JVM और अन्य प्लेटफ़ॉर्म पर काम करने वाला है। यहाँ दो गतिविधियों के बीच किसी वस्तु को भेजने का उदाहरण दिया गया है।
चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल पर जाएं ⇒ नया प्रोजेक्ट और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें।
चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें।
<एडिटटेक्स्ट एंड्रॉइड:आईडी ="@ + आईडी / नाम" एंड्रॉइड:लेआउट_विड्थ ="मैच_पेरेंट" एंड्रॉइड:लेआउट_हाइट ="रैप_कंटेंट" एंड्रॉइड:ईएमएस ="10" एंड्रॉइड:संकेत ="नाम दर्ज करें" android:inputType ="text" /> <बटन एंड्रॉइड:लेआउट_विड्थ ="रैप_कंटेंट" एंड्रॉइड:लेआउट_हाइट ="wrap_co ntent" android:text ="डेटा भेजें" android:id ="@+id/send"/>
चरण 2 - संशोधित मुख्य गतिविधि फ़ाइल MainActivity.java की सामग्री निम्नलिखित है। इस फ़ाइल में प्रत्येक मूलभूत जीवनचक्र विधियाँ शामिल हो सकती हैं।
import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;सार्वजनिक वर्ग MainActivity AppCompatActivity {EditText name; संपादन टेक्स्ट फोन; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); नाम =findViewById (R.id.name); फोन =findViewById (R.id.phone); बटन भेजें =findViewById (R.id.send); Send.setOnClickListener (नया दृश्य। OnClickListener () {@ ओवरराइड सार्वजनिक शून्य पर क्लिक करें (देखें v) { अगर (TextUtils.isEmpty (name.getText ()। toString ()) &&TextUtils.isEmpty (phone.getText ()। toString ( ))) { Toast.makeText (MainActivity.this, "कुछ गलत है कृपया जांचें", Toast.LENGTH_LONG)। शो (); }else{sendUserData(name.getText().toString(),phone.getText()। तार()); } } }); } निजी शून्य sendUserData (स्ट्रिंग उपयोगकर्ता नाम, स्ट्रिंग उपयोगकर्ता फोन) { Userinfo userinfo =new Userinfo (); userinfo.setName (उपयोगकर्ता नाम); userinfo.setPhone (उपयोगकर्ता फोन); इरादा भेजना =नया इरादा (मुख्य गतिविधि। यह, दूसरा गतिविधि। वर्ग); बंडल बी =नया बंडल (); b.putSerializable("serialzable",userinfo); send.putExtras (बी); प्रारंभ गतिविधि (भेजें); }}पूर्व>चरण 3 - संशोधित मुख्य गतिविधि फ़ाइल SecondActivity.java की सामग्री निम्नलिखित है। इस फ़ाइल में प्रत्येक मौलिक जीवनचक्र विधियाँ शामिल हो सकती हैं। यह गतिविधि वस्तु को MainActivity से एक्सेस करने जा रही है जैसा कि नीचे दिखाया गया है -
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.TextView;सार्वजनिक वर्ग सेकेंडएक्टिविटी AppCompatActivity को बढ़ाता है { Userinfo userinfo; @Override संरक्षित शून्य पर क्रिएट (बंडल सेव किया गया इंस्टेंसस्टेट) {super.onCreate (savedInstanceState); setContentView(R.layout.activity_second); टेक्स्ट व्यू डेटा =findViewById (R.id.data); userinfo =(Userinfo) getIntent ()। getSerializableExtra ("serialzable"); स्ट्रिंग नाम =userinfo.getName (); स्ट्रिंग फोन =userinfo.getPhone (); data.setText ("आपका दर्ज नाम" + नाम + "संख्या है" + फोन); } @Override संरक्षित शून्य पर रोकें () {super.onPause (); उपयोगकर्ता जानकारी =शून्य; }}पूर्व>चरण 3 - क्रमबद्ध Userinfo ऑब्जेक्ट की सामग्री निम्नलिखित है। यह ऑब्जेक्ट डेटा हम MainActivity और SecondActivity के बीच से गुजर रहे हैं। Userinfo को क्रमबद्ध वस्तु बनाने के लिए हमें java.io.Serializable . को लागू करना चाहिए इंटरफ़ेस जैसा कि नीचे दिखाया गया है -
आयात करें स्ट्रिंग फोन; सार्वजनिक स्ट्रिंग getName () {वापसी का नाम; } सार्वजनिक शून्य सेटनाम (स्ट्रिंग नाम) { यह नाम =नाम; } सार्वजनिक स्ट्रिंग गेटफोन () {वापसी फोन; } सार्वजनिक शून्य सेटफोन (स्ट्रिंग फोन) { यह फोन =फोन; }}पूर्व>आइए अपना एप्लिकेशन चलाने का प्रयास करें। मुझे लगता है कि आपने अपने वास्तविक Android मोबाइल डिवाइस को अपने कंप्यूटर से कनेक्ट कर लिया है। एंड्रॉइड स्टूडियो से ऐप चलाने के लिए, अपने प्रोजेक्ट की गतिविधि फ़ाइलों में से एक खोलें और रन पर क्लिक करें टूलबार से आइकन। एक विकल्प के रूप में अपने मोबाइल डिवाइस का चयन करें और फिर अपने मोबाइल डिवाइस की जांच करें जो आपकी डिफ़ॉल्ट स्क्रीन प्रदर्शित करेगा।
अब डेटा भेजें बटन पर क्लिक करें, यह आपको दूसरी गतिविधि पर भेज देगा जैसा कि नीचे दिखाया गया है -
उपरोक्त आउटपुट में, हमें MainActivity से SecondActivity तक की जानकारी मिली