टारगेट प्रिपेयरर की तरह ही, मल्टी-टारगेट प्रिपेयरर की मदद से एक साथ कई डिवाइसों को सेटअप किया जा सकता है. उदाहरण के लिए, इसका इस्तेमाल तब किया जाएगा, जब टेस्टिंग के लिए ब्लूटूथ से दो डिवाइस कनेक्ट किए जा रहे हों.
बेस इंटरफ़ेस
बुनियादी इंटरफ़ेस IMultiTargetPreparer है. इसकी मदद से, setUp तरीके को लागू किया जा सकता है. हमारा सुझाव है कि आप हमारी बुनियादी ऐब्स्ट्रैक्ट क्लास BaseMultiTargetPreparer लागू करें. इसमें, बिल्ट-इन डिसैबलमेंट की सुविधा मिलती है. इससे किसी भी प्रिपेयरर को आसानी से बंद किया जा सकता है.
मल्टी-टारगेट की सुविधा का इस्तेमाल करने वाले लोग, डेटा को साफ़ करने के लिए सीधे तौर पर tearDown तरीका भी उपलब्ध कराते हैं.
सुझाव
हमारा सुझाव है कि हर तैयारी करने वाले को सिर्फ़ एक मुख्य फ़ंक्शन तक सीमित रखें. इससे, तैयारी करने वालों के लिए, कॉन्टेंट को दोबारा इस्तेमाल करना आसान हो जाता है.
कोई नया व्यक्ति जोड़ने से पहले, उपलब्ध लोगों की सूची भी देखें, ताकि काम दोहराने से बचा जा सके. तैयार करने वाले लोग, tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/ में उपलब्ध हैं.
एक से ज़्यादा टारगेट सेट करने वाला व्यक्ति, जितने चाहें उतने डिवाइस सेट अप कर सकता है. सभी डिवाइस, इंटरफ़ेस के IInvocationContext में उपलब्ध हैं, ताकि उन्हें लागू किया जा सके.
एक्सएमएल कॉन्फ़िगरेशन
ऑब्जेक्ट टैग multi_target_preparer है. उदाहरण के लिए:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
कार्रवाइयों का क्रम
multi_target_preparer,target_preparerके बादsetUpको लागू करता है.multi_target_preparer, टारगेट क्लीनर को पहले एक्ज़ीक्यूट करता है.tearDown
इससे सेटअप के सभी चरणों को पूरा करने की अनुमति हमेशा नहीं मिलती. इसलिए, XML में मल्टी-टारगेट प्रिपेयरर को multi_pre_target_preparer के तौर पर तय किया जा सकता है और इसे target_preparer इंस्टेंस से पहले लागू किया जा सकता है.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
ऑपरेशन का क्रम इस तरह होता है:
multi_pre_target_preparer setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_pre_target_preparer tearDown
सेटअप के लिए ज़रूरी क्रम के आधार पर, किसी भी मल्टी-टारगेट प्रिपेयरर को multi_target_preparer या multi_pre_target_preparer के तौर पर एलान किया जा सकता है.