IncrementalInstallSession
public
class
IncrementalInstallSession
extends Object
| java.lang.Object | |
| ↳ | com.android.incfs.install.IncrementalInstallSession |
Yüklenen APK'ların bloklarının okunması gerektiğinde cihaza aktarıldığı artımlı bir paket yükleme oturumu oluşturmak için kullanılır.
Artımlı yükleme, APK'nın tamamı cihaza aktarılmadan yüklemenin tamamlanmasına olanak tanımak için Artımlı Dosya Sistemi'ni (IncFs) kullanır. Bu sınıf, artımlı yüklemeyi başlatmak, APK'nın hangi bloklarının cihaza aktarılmasına izin verileceğini kontrol etmek ve APK yüklemesi tamamlanana ve/veya tüm bloklar cihaza aktarılana kadar beklemek için kullanılabilir.
Cihazla bağlantı, oturum kapatılana, yükleme başarısız olana, cihaz bağlantısının zaman aşımı süresi dolana veya cihazdan gelen blok istekleri işlenirken bir istisna oluşana kadar açık kalır.
Bu sınıfın örnek bir kullanımı:
{@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);
}Özet
İç içe yerleştirilmiş sınıflar | |
|---|---|
class |
IncrementalInstallSession.Builder
|
Herkese açık yöntemler | |
|---|---|
void
|
close()
Cihazla iletişimi iptal eder. |
IncrementalInstallSession
|
start(Executor executor, IDeviceConnection.Factory conFactory)
Akışla yükleme oturumunu başlatır. |
void
|
waitForAnyCompletion(long timeout, TimeUnit units)
APK verileri cihaza aktarılana veya yükleme işlemi tamamlanana kadar mevcut iş parçacığını engeller. |
void
|
waitForInstallCompleted(long timeout, TimeUnit units)
Tüm APK'lar başarıyla yüklenene kadar mevcut iş parçacığını engeller. |
void
|
waitForServingCompleted(long timeout, TimeUnit units)
Tüm APK verileri cihaza aktarılana kadar mevcut iş parçacığını engeller. |
Herkese açık yöntemler
kapat
public void close ()
Cihazla iletişimi iptal eder.
start
public IncrementalInstallSession start (Executor executor, IDeviceConnection.Factory conFactory)
Akışla yükleme oturumunu başlatır.
| Parametreler | |
|---|---|
executor |
Executor: Cihazdan gelen blok isteklerinin işlenmeye başlanacağı yürütücü |
conFactory |
IDeviceConnection.Factory: cihaz bağlantısı fabrikası |
| İlerlemeler | |
|---|---|
IncrementalInstallSession |
|
| Dekoratif yastıklar | |
|---|---|
|
Cihazla iletişim kurulurken hata oluşursa |
waitForAnyCompletion
public void waitForAnyCompletion (long timeout,
TimeUnit units)APK verileri cihaza aktarılana veya yükleme işlemi tamamlanana kadar mevcut iş parçacığını engeller.
| Parametreler | |
|---|---|
timeout |
long: Beklenecek maksimum süre. 0 değeri, bu yöntemin süresiz olarak beklemesine neden olur. |
units |
TimeUnit: sıfır olmayan timeout için birimler |
| Dekoratif yastıklar | |
|---|---|
|
Bekleme süresi dolarsa, APK yüklenemezse veya engelleme istekleri işlenirken bir istisna oluşursa. |
waitForInstallCompleted
public void waitForInstallCompleted (long timeout,
TimeUnit units)Tüm APK'lar başarıyla yüklenene kadar mevcut iş parçacığını engeller. Veri yayınlama işlemi, yükleme başarılı olmadan önce veya sonra tamamlanabilir.
| Parametreler | |
|---|---|
timeout |
long: Yüklemelerin tamamlanması için beklenecek maksimum süre. 0 değeri, bu yöntemin süresiz olarak beklemesine neden olur. |
units |
TimeUnit: sıfır olmayan timeout için birimler |
| Dekoratif yastıklar | |
|---|---|
|
Bekleme süresi dolarsa, APK yüklenemezse veya engelleme istekleri işlenirken bir istisna oluşursa. |
waitForServingCompleted
public void waitForServingCompleted (long timeout,
TimeUnit units)Tüm APK verileri cihaza aktarılana kadar mevcut iş parçacığını engeller. Yükleme, yayınlama tamamlanmadan önce veya sonra bitebilir.
| Parametreler | |
|---|---|
timeout |
long: Yayınlamanın tamamlanması için beklenecek maksimum süre. 0 değeri, bu yöntemin süresiz olarak beklemesine neden olur. |
units |
TimeUnit: sıfır olmayan timeout için birimler |
| Dekoratif yastıklar | |
|---|---|
|
Bekleme süresi dolarsa, APK yayınlanamazsa veya blok istekleri işlenirken bir istisna oluşursa |