IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
implements
AutoCloseable
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
इस कुकी का इस्तेमाल, इंक्रीमेंटल पैकेज इंस्टॉलेशन सेशन बनाने के लिए किया जाता है. इसमें इंस्टॉल किए गए APK के ब्लॉक को डिवाइस पर तब स्ट्रीम किया जाता है, जब उन्हें पढ़ने की ज़रूरत होती है.
इंक्रीमेंटल इंस्टॉलेशन, इंक्रीमेंटल फ़ाइल सिस्टम (IncFs) का इस्तेमाल करता है. इससे, पूरे APK को डिवाइस पर स्ट्रीम किए जाने से पहले ही इंस्टॉलेशन पूरा हो जाता है. इस क्लास का इस्तेमाल, इंक्रीमेंटल इंस्टॉलेशन शुरू करने के लिए किया जा सकता है. इससे यह कंट्रोल किया जा सकता है कि APK के किन ब्लॉक को डिवाइस पर स्ट्रीम करने की अनुमति है. साथ ही, इससे APK इंस्टॉल होने की प्रोसेस पूरी होने और/या सभी ब्लॉक को डिवाइस पर स्ट्रीम किए जाने तक इंतज़ार किया जा सकता है.
डिवाइस से कनेक्शन तब तक खुला रहता है, जब तक सेशन बंद नहीं हो जाता, इंस्टॉल नहीं हो पाता, डिवाइस का कनेक्शन टाइम आउट नहीं हो जाता या डिवाइस से ब्लॉक करने के अनुरोधों को प्रोसेस करते समय कोई अपवाद नहीं होता.
इस क्लास का इस्तेमाल करने का एक उदाहरण यहां दिया गया है:
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 |
|
| थ्रो | |
|---|---|
IOException |
अगर डिवाइस से कनेक्ट करते समय कोई गड़बड़ी होती है |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)यह मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक डिवाइस पर APK डेटा स्ट्रीम नहीं हो जाता या इंस्टॉलेशन पूरा नहीं हो जाता.
| पैरामीटर | |
|---|---|
timeout |
long: इंतज़ार करने की ज़्यादा से ज़्यादा अवधि. वैल्यू 0 होने पर, यह तरीका हमेशा के लिए इंतज़ार करेगा. |
units |
TimeUnit: शून्य से अलग timeout के लिए इकाइयां |
| थ्रो | |
|---|---|
IOException |
अगर इंतज़ार करने का समय खत्म हो जाता है, APK इंस्टॉल नहीं हो पाता या ब्लॉक करने के अनुरोधों को मैनेज करते समय कोई गड़बड़ी होती है. |
InterruptedException |
|
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)यह फ़ंक्शन, सभी APK इंस्टॉल होने तक मौजूदा थ्रेड को ब्लॉक करता है. डेटा ट्रांसफ़र की प्रोसेस, इंस्टॉल पूरा होने से पहले या बाद में खत्म हो सकती है.
| पैरामीटर | |
|---|---|
timeout |
long: इंस्टॉल पूरा होने तक इंतज़ार करने का ज़्यादा से ज़्यादा समय. 0 वैल्यू का मतलब है कि यह तरीका हमेशा इंतज़ार करेगा. |
units |
TimeUnit: शून्य से अलग timeout के लिए इकाइयां |
| थ्रो | |
|---|---|
IOException |
अगर इंतज़ार करने का समय खत्म हो जाता है, APK इंस्टॉल नहीं हो पाता या ब्लॉक करने के अनुरोधों को मैनेज करते समय कोई गड़बड़ी होती है. |
InterruptedException |
|
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)यह मौजूदा थ्रेड को तब तक ब्लॉक करता है, जब तक डिवाइस पर APK का पूरा डेटा स्ट्रीम नहीं हो जाता. इंस्टॉल होने की प्रोसेस, विज्ञापन दिखने से पहले या बाद में पूरी हो सकती है.
| पैरामीटर | |
|---|---|
timeout |
long: विज्ञापन दिखाने की प्रोसेस पूरी होने तक इंतज़ार करने का ज़्यादा से ज़्यादा समय. वैल्यू 0 होने पर, यह तरीका हमेशा के लिए इंतज़ार करेगा. |
units |
TimeUnit: शून्य से अलग timeout के लिए इकाइयां |
| थ्रो | |
|---|---|
IOException |
अगर इंतज़ार करने की समयसीमा खत्म हो जाती है, कोई APK स्ट्रीम नहीं हो पाता या ब्लॉक किए गए अनुरोधों को हैंडल करते समय कोई अपवाद होता है. |
InterruptedException |
|