दिलचस्प पोस्ट
जब std :: चालन फ़ंक्शन रिटर्न मान पर किया जाना चाहिए? रिपॉजिटरीज का उपयोग करके काम के पैटर्न की इकाई में निर्भरता इंजेक्शन सादा अंग्रेजी में सामान्यकरण सी # एक्सएमएल टिप्पणियों से उत्पन्न प्रलेखन अस्थायी बिंदु अचूकता उदाहरण रेडिस का उपयोग करके पैटर्न से मिलान करने वाली कुंजियों को कैसे परोक्ष रूप से हटाएं 'का प्रयोग' वक्तव्य बनाम 'अंत में प्रयास करें' MySQL "द्वारा समूह" और "आदेश से" प्लॉट को प्रभावित किए बिना ggplot2 लीजेंड लूक को नियंत्रित करें INPUT तत्व के लिए "परिवर्तन" और "इनपुट" ईवेंट में अंतर क्या है क्या जावास्क्रिप्ट में दिनांक स्वरूपण को संभालने के लिए एक अंतर्निहित फ़ंक्शन या प्लगइन है? कैसे एक एसक्यूएल सर्वर संग्रहीत कार्यविधि में एक सरणी को पारित करने के लिए लोचदार खोज – अनसाइन किए गए shards के साथ क्या करना है पाठ को डालने जहां कर्सर जावास्क्रिप्ट / jquery का उपयोग कर रहा है त्रुटि 1114 (HY000): मेज भरा हुआ है

एंड्रॉइड पर मैं इरादा से अतिरिक्त डेटा कैसे प्राप्त करूं?

मैं एक गतिविधि (आशय) से दूसरे को डेटा कैसे भेज सकता हूं?

मैं डेटा भेजने के लिए इस कोड का उपयोग करता हूं:

Intent i=new Intent(context,SendMessage.class); i.putExtra("id", user.getUserAccountId()+""); i.putExtra("name", user.getUserFullName()); context.startActivity(i); 

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड पर मैं इरादा से अतिरिक्त डेटा कैसे प्राप्त करूं?"

सबसे पहले, आशय प्राप्त करें जिसने getIntent() विधि का उपयोग कर अपनी गतिविधि शुरू की है:

 Intent intent = getIntent(); 

यदि आपके अतिरिक्त डेटा को स्ट्रिंग के रूप में प्रदर्शित किया जाता है, तो आप intent.getStringExtra(String name) विधि का उपयोग कर सकते हैं। आपके मामले में:

 String id = intent.getStringExtra("id"); String name = intent.getStringExtra("name"); 

प्राप्त गतिविधि में

 Bundle extras = getIntent().getExtras(); String userName; if (extras != null) { userName = extras.getString("name"); // and get whatever type user account id is } 
 // How to send value using intent from one class to another class // class A(which will send data) Intent theIntent = new Intent(this, B.class); theIntent.putExtra("name", john); startActivity(theIntent); // How to get these values in another class // Class B Intent i= getIntent(); i.getStringExtra("name"); // if you log here i than you will get the value of i ie john 

जोड़ें

डेटा सेट करें

 String value = "Hello World!"; Intent intent = new Intent(getApplicationContext(), NewActivity.class); intent.putExtra("sample_name", value); startActivity(intent); 

डेटा प्राप्त करें

 String value; Bundle bundle = getIntent().getExtras(); if (bundle != null) { value = bundle.getString("sample_name"); } 

डेटा प्राप्त करने के लिए एक और नया इरादा शुरू करने के बजाय, ऐसा करें:

 String id = getIntent().getStringExtra("id"); 

यदि एक टुकड़ा सक्रियता में प्रयोग किया जाता है, तो इसे आज़माएं:

पहला पृष्ठ फ्रेगमेंट एक्टिविटी बढ़ाता है

 Intent Tabdetail = new Intent(getApplicationContext(), ReceivePage.class); Tabdetail.putExtra("Marker", marker.getTitle().toString()); startActivity(Tabdetail); 

टुकड़ा में, आपको केवल getActivity() पहले कॉल करने की आवश्यकता है,

दूसरा पृष्ठ टुकड़ा बढ़ाता है:

 String receive = getActivity().getIntent().getExtras().getString("name"); 

यदि आप टुकड़ों में अतिरिक्त डेटा प्राप्त करने का प्रयास कर रहे हैं तो आप इसका उपयोग करने का प्रयास कर सकते हैं:

का उपयोग करके डेटा रखें:

 Bundle args = new Bundle(); args.putInt(DummySectionFragment.ARG_SECTION_NUMBER); 

का उपयोग कर डेटा प्राप्त करें:

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getArguments().getInt(ARG_SECTION_NUMBER); getArguments().getString(ARG_SECTION_STRING); getArguments().getBoolean(ARG_SECTION_BOOL); getArguments().getChar(ARG_SECTION_CHAR); getArguments().getByte(ARG_SECTION_DATA); } 

केवल एक सलाह:

अपने i.putExtra ("id" …..) में "id" या "name" का उपयोग करने के बजाय, मैं सुझाव देता हूं, जब यह समझ में आता है, मौजूदा मानक फ़ील्ड का उपयोग करके जो putExtra () के साथ प्रयोग किया जा सकता है, यानी Intent.EXTRA_something।

इन्टेंट (एंड्रॉइड डेवलपर्स) में एक पूरी सूची पाई जा सकती है

हम इसे सरल तरीके से कर सकते हैं:

प्रथम गतिविधि में:

 Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtra("uid", uid.toString()); intent.putExtra("pwd", pwd.toString()); startActivity(intent); 

दूसरे गतिविधि में:

  try { Intent intent = getIntent(); String uid = intent.getStringExtra("uid"); String pwd = intent.getStringExtra("pwd"); } catch (Exception e) { e.printStackTrace(); Log.e("getStringExtra_EX", e + ""); } 

आप भी ऐसा कर सकते हैं
// इरादे में डाल मूल्य

  Intent in = new Intent(MainActivity.this, Booked.class); in.putExtra("filter", "Booked"); startActivity(in); 

// आशय से मूल्य प्राप्त करें

  Intent intent = getIntent(); Bundle bundle = intent.getExtras(); String filter = bundle.getString("filter"); 

आशय से अतिरिक्त के विभिन्न प्रकार प्राप्त करना

आशय से डेटा का उपयोग करने के लिए आपको दो चीजें जानना चाहिए

  • कुंजी
  • आपके डेटा का डेटाटाइप

विभिन्न प्रकार के डेटा प्रकारों को निकालने के लिए आशय वर्ग में अलग-अलग तरीके हैं। यह इस तरह दिख रहा है

getIntent ()। XXXX (कुंजी) या आशय। XXX (कुंजी);

इसलिए यदि आप अपने वर्इबेल का डेटाटाइप जानते हैं जिसे आप अन्य गतिविधि में सेट करते हैं तो आप संबंधित विधि का उपयोग कर सकते हैं।

आशय से आपकी गतिविधि में स्ट्रिंग प्राप्त करने के लिए उदाहरण

 String profileName = getIntent().getStringExtra("SomeKey"); 

विभिन्न डेटा प्रकार के तरीकों के विभिन्न रूपों की सूची

आप आशय के आधिकारिक दस्तावेज में उपलब्ध तरीकों की सूची देख सकते हैं।

मैं सिर्फ एक जवाब पोस्ट किया है जिसमें कुछ विकल्प शामिल हैं, इस विषय को थोड़ा अधिक विस्तार में शामिल किया गया है

यह वापर एपीआई का उपयोग करता है , एक नया jQuery प्रेरित एंड्रॉइड फ्रेमवर्क मैंने एंड्रॉइड देव को सरल बनाने के लिए लिखा था। उस उत्तर में उदाहरण देखें कि आप सक्रियता के बीच डेटा कैसे आसानी से पास कर सकते हैं।

इसके अलावा यह VaporIntent दर्शाता है, जो आपको शृंखला विधि कॉल देता है और अतिभारित उपयोग करता है। .put(...) विधि:

 $.Intent().put("data", "myData").put("more", 568)... 

आप वाप एपीआई का उपयोग करते हुए आसानी से अपने पूरे एप्लिकेशन के पास डेटा पास कर सकते हैं, इसलिए उम्मीद है कि यह ऐप डेवलपमेंट के दौरान आपके और दूसरों के लिए उपयोगी होगा।