दिलचस्प पोस्ट
एक एंड्रॉइड एप्लिकेशन में अपना स्वयं का SQLite डेटाबेस जोड़ना मैं सी # में सिस्टम क्लिपबोर्ड को बैकअप और पुनर्स्थापित कैसे करूं? PHP में डेटाबेस एक्सेस के साथ सिंगलटन के लिए उपयोग का कोई मामला है? Google App Engine में एक प्रकार के लिए सभी डेटा हटाएं जानकारी के नुकसान के बिना एक पूर्णांक \ numeric में एक कारक कैसे परिवर्तित करें? त्रुटि: "निर्दिष्ट LINQ अभिव्यक्ति में विभिन्न संदर्भों से संबंधित क्वेरीज़ के संदर्भ शामिल हैं" .htaccess और mod_rewrite का उपयोग करके एसएसएल / https को बल दें जब कोई उपयोगकर्ता लिंक पर क्लिक करता है तो मैं PHP कोड कैसे चलाऊँ? सरणी 1 को सरणी 2 में बदलने के लिए न्यूनतम स्वैप की आवश्यकता है? आरटीएफ स्ट्रिंग से पाठ निकालने के लिए नियमित अभिव्यक्ति पैरामीटर वाले परीक्षणों के नाम बदलना स्ट्रिंगफ़ॉर्मेट स्थानीयकरण के मुद्दों में डब्ल्यूपीएफ एंड्रॉइड ऐप पर एसएमएस प्राप्त करना जावा में फ़ाइलों को लगातार सूची दें IIS अनुरोध समयबाह्य लंबे asp.net ऑपरेशन पर

दो अनुप्रयोगों के बीच डेटा साझा करना

हाल ही में मेरे पास एक साक्षात्कार था जिसमें सवाल पूछा गया था "आप दो इंस्टॉल किए गए ऐप्स या एपीके के बीच डेटा कैसे साझा कर पाएंगे?"

इस प्रश्न के लिए मेरे पास कोई जवाब नहीं था। क्या कोई ऐसा करने का एक तरीका निर्धारित करने में मेरी सहायता कर सकता है …

Solutions Collecting From Web of "दो अनुप्रयोगों के बीच डेटा साझा करना"

सामग्री प्रदाता अनुप्रयोगों के बीच डेटा साझा करने के लिए एक अच्छा तरीका है

आवेदन 1 से डेटा भेजें (उदाहरण के लिए: अनुप्रयोग 1 पैकेज का नाम "com.sharedpref1" है)।

SharedPreferences prefs = getSharedPreferences("demopref", Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putString("demostring", strShareValue); editor.commit(); 

अनुप्रयोग 2 में डेटा प्राप्त करें (आवेदन में साझा वरीयताओं से डेटा प्राप्त करने के लिए)

  try { con = createPackageContext("com.sharedpref1", 0);//first app package name is "com.sharedpref1" SharedPreferences pref = con.getSharedPreferences( "demopref", Context.MODE_PRIVATE); String your_data = pref.getString("demostring", "No Value"); } catch (NameNotFoundException e) { Log.e("Not data shared", e.toString()); } 

दोनों एप्लिकेशन मैनिफ़ेस्ट फ़ाइलों में समान साझा उपयोगकर्ता आईडी और लेबल जोड़ते हैं,

  android:sharedUserId="any string" android:sharedUserLabel="@string/any_string" 

दोनों समान हैं … और साझा उपयोगकर्ता लेबल को string.xml से होना चाहिए

इस उदाहरण की तरह

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.xxxx" android:versionCode="1" android:versionName="1.0" android:sharedUserId="any string" android:sharedUserLabel="@string/any_string"> 

मुझे संदेह है कि वह संभावित रूप से एंड्रॉइड विशिष्ट तरीकों जैसे कि सामग्री प्रदाता उत्तर की तलाश में थे।

अन्य विकल्प … एंड्रॉइड स्पेशल – रिमोट सर्विसेज जनरल – टीसीपी / आईपी कनेक्शन सामान्य – एसडी कार्ड पर एक स्थान पर लेखन

किसी विशिष्ट विधि के बारे में अधिक सुनने की देखभाल करें?

इसके अलावा आज एक साक्षात्कार के लिए इस सवाल को चुराना 🙂

यदि आप अनुप्रयोगों के बीच डेटा साझा करना चाहते हैं, तो सुनिश्चित करें कि आप उसी कुंजी के साथ साइन इन करें:

अनुमतियों के माध्यम से संहिता / डेटा साझा करना – एंड्रॉइड सिस्टम हस्ताक्षर-आधारित अनुमति प्रवर्तन प्रदान करता है, ताकि किसी एप्लिकेशन को किसी अन्य एप्लिकेशन पर कार्यक्षमता का पर्दाफाश किया जा सके जो किसी विशिष्ट प्रमाण पत्र के साथ हस्ताक्षरित हो। एक ही प्रमाण पत्र के साथ कई अनुप्रयोगों पर हस्ताक्षर करके और हस्ताक्षर-आधारित अनुमति जांच का उपयोग करके, आपके एप्लिकेशन कोड और डेटा को एक सुरक्षित तरीके से साझा कर सकते हैं।

इससे उद्धृत किया गया है: साइन इन करने के बारे में एंड्रॉइड डेवलपर पृष्ठ

यदि यह छोटी मात्रा में डेटा है तो आप इसे किसी इरादे से भेज सकते हैं।

सामग्री प्रदाता एंड्रॉइड घटक है, जिसका इस्तेमाल करना है यदि एक आवेदन दूसरे डेटा के साथ अपने डेटा को साझा करना चाहता है

नोट: किसी एप्लिकेशन द्वारा बनाई गई फ़ाइलें, SqliteDatabases, Sharedpreference फ़ाइलें केवल उस एप्लिकेशन के लिए निजी है अन्य अनुप्रयोग सीधे इसे एक्सेस नहीं कर सकता यदि प्रोग्रामर सामग्री प्रदाता का उपयोग करके डेटाबेस को उजागर करता है, तो केवल वह डेटा अन्य अनुप्रयोगों के लिए पहुंच योग्य है। सामग्री प्रदाता के साथ संचार करने के लिए सामग्री रिज़ॉल्वर का उपयोग करने के लिए