2011-02-28 29 views
12

से गतिविधि में पैरामीटर पास करना क्या किसी को पता है कि AndroidManifest.xml फ़ाइल से किसी गतिविधि में पैरामीटर पास करना संभव है? मैं कुछ ऐप्स में एक ही गतिविधि का उपयोग करना चाहता हूं, लेकिन ऐप के आधार पर उस गतिविधि की उपस्थिति को कंडीशनिंग का एक तरीका है।एंड्रॉइड: AndroidManifest.xml

उदा। मैं की तरह कुछ (AndroidManifest.xml में) लिखने के लिए

<activity android:name=".MyActivity" 
       android:label="@string/app_name" 
       android:screenOrientation="portrait"> 

     <extradata> 
       <item name="foo" value="bar"/> 
     </extradata> 
</activity> 

.. और गतिविधि के onCreate में बार का मूल्य बाहर पढ़ने में सक्षम हो करना चाहते हैं। क्या यह ऐसा कुछ है जो किसी इरादे फ़िल्टर में डेटा विशेषता के साथ किया जा सकता है?

धन्यवाद,

उत्तर

8

वास्तव में, वहाँ सिर्फ इतना है कि ऐसा करने के लिए तरीका है। संक्षेप में

http://blog.iangclifton.com/2010/10/08/using-meta-data-in-an-androidmanifest/

आप उपयोग कर टैग की सामग्री प्राप्त कर सकते हैं इस: इस लेख की जाँच करें

ApplicationInfo ai = getPackageManager().getApplicationInfo(activity.getPackageName(),  PackageManager.GET_META_DATA); 
Bundle bundle = ai.metaData; 
String myApiKey = bundle.getString("my_api_key"); 

मेटाडाटा टैग इस रूप में परिभाषित किया गया है:

<meta-data android:name="my_api_key" android:value="mykey123" /> 

यह संभव है मूल्यों में डेटा तक पहुंचने के लिए, लेकिन यदि आप गतिविधि से संबंधित कुछ निर्दिष्ट करना चाहते हैं, तो यह बहुत साफ दृष्टिकोण है।

उम्मीद है कि यह मदद करता है।

0

मुझे नहीं लगता कि ऐसा करने का कोई तरीका है। (इस तरह के कुछ सिग्नल करने के लिए गतिविधि के लिए प्रक्रिया नाम का उपयोग करने के लिए एक बुरा हैक हो सकता है।) आपके ऐप्स में से प्रत्येक में एक मानक संसाधन निर्दिष्ट करना एक बेहतर तरीका होगा जिसमें गतिविधि के लिए आवश्यक जानकारी हो।

1

उपयोग res/values ​​/ strings.xml

यहाँ अपने डेटा को सेव करें। somethings उपयोग

<string-array name = "foo"> 
<item>bar1</item> 
<item>bar2</item> 
<item>red</item> 
<item>blue</item> 
<item>one</item> 
<item>two</item> 
</string-array> 

की तरह आप तो

Resources r; 

r = getResources(): 

String[] foos = r.getStringArray(R.array.foo); 

का उपयोग करके इस प्राप्त कर सकते हैं मुझे लगता है कि यह आपके लिए क्या देख रहा है। लेकिन यदि आप अपने ऐप को स्टाइलिज़ करना चाहते हैं तो आपको थीम का उपयोग करना चाहिए।

[विषयों के लिए एंड्रॉयड उदाहरण] [1]

[1]: http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html "थीम EXAMPLE"

संबंधित मुद्दे