IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
इस कुकी का इस्तेमाल, इंक्रीमेंटल पैकेज इंस्टॉलेशन सेशन बनाने के लिए किया जाता है. इसमें इंस्टॉल किए गए APK के ब्लॉक को डिवाइस पर तब स्ट्रीम किया जाता है, जब उन्हें पढ़ने की ज़रूरत होती है.
इंक्रीमेंटल इंस्टॉलेशन, इंक्रीमेंटल फ़ाइल सिस्टम (IncFs) का इस्तेमाल करता है. इससे, पूरे APK को डिवाइस पर स्ट्रीम किए जाने से पहले ही इंस्टॉलेशन पूरा हो जाता है. इस क्लास का इस्तेमाल, इंक्रीमेंटल इंस्टॉलेशन शुरू करने के लिए किया जा सकता है. इससे यह कंट्रोल किया जा सकता है कि APK के किन ब्लॉक को डिवाइस पर स्ट्रीम करने की अनुमति है. साथ ही, इससे APK के इंस्टॉल होने और/या सभी ब्लॉक के डिवाइस पर स्ट्रीम होने तक इंतज़ार किया जा सकता है.
डिवाइस से कनेक्शन तब तक खुला रहता है, जब तक सेशन बंद नहीं हो जाता, इंस्टॉल नहीं हो पाता, डिवाइस का कनेक्शन टाइम आउट नहीं हो जाता या डिवाइस से ब्लॉक करने के अनुरोधों को प्रोसेस करते समय कोई अपवाद नहीं होता.
इस क्लास का इस्तेमाल करने का एक उदाहरण यहां दिया गया है:
{@code try (IncrementalInstallSession session = new IncrementalInstallSession.Builder()
.addApk(mTestApk0, mTestSignature0)
.build()) {
// Start the session on a separate thread.
session.start(Executors.newCachedThreadPool(), mockDevice.getFactory());
// Wait a maximum of 45 seconds for the install to finish.
session.waitForInstallCompleted(45, TimeUnit.SECONDS);
}खास जानकारी
नेस्ट की गई क्लास | |
|---|---|
class |
IncrementalInstallSession.Builder
|
सार्वजनिक तरीके | |
|---|---|
void
|
close()
डिवाइस से कम्यूनिकेशन बंद कर देता है. |
IncrementalInstallSession
|
start(Executor executor, IDeviceConnection.Factory conFactory)
यह स्ट्रीमिंग इंस्टॉल सेशन शुरू करता है. |
void
|
waitForAnyCompletion(long timeout, TimeUnit units)
यह मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक डिवाइस पर APK डेटा स्ट्रीम नहीं हो जाता या इंस्टॉलेशन पूरा नहीं हो जाता. |
void
|
waitForInstallCompleted(long timeout, TimeUnit units)
यह फ़ंक्शन, मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक सभी APK इंस्टॉल नहीं हो जाते. |
void
|
waitForServingCompleted(long timeout, TimeUnit units)
यह मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक डिवाइस पर APK का पूरा डेटा स्ट्रीम नहीं हो जाता. |
सार्वजनिक तरीके
बंद करें
public void close ()
डिवाइस से कम्यूनिकेशन बंद कर देता है.
शुरू करें
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
यह कुकी, स्ट्रीमिंग इंस्टॉल सेशन शुरू करती है.
| पैरामीटर | |
|---|---|
executor |
Executor: वह एक्ज़ीक्यूटर जिस पर डिवाइस से ब्लॉक करने के अनुरोधों को मैनेज करना है |
conFactory |
IDeviceConnection.Factory: डिवाइस कनेक्शन फ़ैक्ट्री |
| रिटर्न | |
|---|---|
IncrementalInstallSession |
|
| थ्रो | |
|---|---|
|
अगर डिवाइस से कनेक्ट करते समय कोई गड़बड़ी होती है |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)यह मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक डिवाइस पर APK डेटा स्ट्रीम नहीं हो जाता या इंस्टॉलेशन पूरा नहीं हो जाता.
| पैरामीटर | |
|---|---|
timeout |
long: इंतज़ार करने की ज़्यादा से ज़्यादा अवधि. इस वैल्यू को 0 पर सेट करने से, यह तरीका हमेशा के लिए इंतज़ार करता रहेगा. |
units |
TimeUnit: शून्य से अलग timeout के लिए इकाइयां |
| थ्रो | |
|---|---|
|
अगर इंतज़ार करने का समय खत्म हो जाता है, APK इंस्टॉल नहीं हो पाता या ब्लॉक किए गए अनुरोधों को हैंडल करते समय कोई गड़बड़ी होती है. |
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)यह फ़ंक्शन, मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक सभी APK इंस्टॉल नहीं हो जाते. डेटा दिखाने की प्रोसेस, इंस्टॉल पूरा होने से पहले या बाद में खत्म हो सकती है.
| पैरामीटर | |
|---|---|
timeout |
long: ऐप्लिकेशन इंस्टॉल होने में लगने वाला ज़्यादा से ज़्यादा समय. 0 वैल्यू का मतलब है कि यह तरीका हमेशा के लिए इंतज़ार करेगा. |
units |
TimeUnit: शून्य से अलग timeout के लिए इकाइयां |
| थ्रो | |
|---|---|
|
अगर इंतज़ार करने का समय खत्म हो जाता है, APK इंस्टॉल नहीं हो पाता या ब्लॉक किए गए अनुरोधों को हैंडल करते समय कोई गड़बड़ी होती है. |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)यह मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक डिवाइस पर APK का पूरा डेटा स्ट्रीम नहीं हो जाता. इंस्टॉल होने की प्रोसेस, विज्ञापन दिखाने की प्रोसेस पूरी होने से पहले या बाद में खत्म हो सकती है.
| पैरामीटर | |
|---|---|
timeout |
long: विज्ञापन दिखाने की प्रोसेस पूरी होने तक इंतज़ार करने का ज़्यादा से ज़्यादा समय. वैल्यू 0 होने पर, यह तरीका अनिश्चित काल तक इंतज़ार करेगा. |
units |
TimeUnit: शून्य से अलग timeout के लिए इकाइयां |
| थ्रो | |
|---|---|
|
अगर इंतज़ार करने की समयसीमा खत्म हो जाती है, APK स्ट्रीम नहीं हो पाता या ब्लॉक किए गए अनुरोधों को हैंडल करते समय कोई अपवाद होता है. |