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 स्ट्रीम नहीं हो पाता या ब्लॉक किए गए अनुरोधों को हैंडल करते समय कोई अपवाद होता है.