SyncService
public
class
SyncService
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.device.server.SyncService |
透過偵錯橋接器,將檔案推送/拉取至/自裝置/模擬器。
如要取得 SyncService 物件,請使用 IDevice.getSyncService()。
摘要
巢狀類別 | |
|---|---|
class |
SyncService.FileStat
|
interface |
SyncService.ISyncProgressMonitor
實作這個介面的類別會提供處理顯示轉移進度的方法。 |
公用建構函式 | |
|---|---|
SyncService(InetSocketAddress address, IDevice device)
建立 Sync 服務物件。 |
|
公用方法 | |
|---|---|
void
|
close()
關閉連線。 |
static
SyncService.ISyncProgressMonitor
|
getNullProgressMonitor()
傳回不會執行任何動作的同步進度監控器。 |
boolean
|
openSync()
開啟同步連線。 |
void
|
pull(FileEntry[] entries, String localPath, SyncService.ISyncProgressMonitor monitor)
提取檔案或資料夾。 |
void
|
pullFile(FileListingService.FileEntry remote, String localFilename, SyncService.ISyncProgressMonitor monitor)
提取單一檔案。 |
void
|
pullFile(String remoteFilepath, String localFilename, SyncService.ISyncProgressMonitor monitor)
提取單一檔案。 |
void
|
push(String[] local, FileListingService.FileEntry remote, SyncService.ISyncProgressMonitor monitor)
推送多個檔案或目錄。 |
void
|
push(String[] local, String remote, SyncService.ISyncProgressMonitor monitor)
推送多個檔案或目錄。 |
void
|
pushFile(String local, String remote, SyncService.ISyncProgressMonitor monitor)
推送單一檔案。 |
SyncService.FileStat
|
statFile(String path)
傳回遠端檔案的統計資訊。 |
公用建構函式
SyncService
public SyncService (InetSocketAddress address,
IDevice device)建立 Sync 服務物件。
| 參數 | |
|---|---|
address |
InetSocketAddress:要連線的地址 |
device |
IDevice:服務連線的 IDevice。 |
公用方法
關閉
public void close ()
關閉連線。
getNullProgressMonitor
public static SyncService.ISyncProgressMonitor getNullProgressMonitor ()
傳回不會執行任何動作的同步進度監控器。這樣一來,不想/不需要顯示 UI 的背景工作,就能傳遞有效的 ISyncProgressMonitor。
這個物件可重複使用多次,且可供並行執行緒使用。
| 傳回 | |
|---|---|
SyncService.ISyncProgressMonitor |
|
openSync
public boolean openSync ()
開啟同步連線。在呼叫 push[File] / pull[File] 之前,必須先呼叫這個函式。
| 傳回 | |
|---|---|
boolean |
如果連線已開啟,則為 true;如果 adb 拒絕連線,則為 false。如果 IDevice 無效,就會發生這種情況。 |
| 擲回 | |
|---|---|
TimeoutException |
連線逾時時。 |
AdbCommandRejectedException |
如果 adb 拒絕指令 |
|
如果無法連線至 adb。 |
提取
public void pull (FileEntry[] entries, String localPath, SyncService.ISyncProgressMonitor monitor)
提取檔案或資料夾。
| 參數 | |
|---|---|
entries |
FileEntry:要提取的遠端項目 |
localPath |
String:本地目的地。如果項目數 > 1,或不重複的項目是資料夾,則這應該是資料夾。 |
monitor |
SyncService.ISyncProgressMonitor:進度監控器。不得為空值。 |
| 擲回 | |
|---|---|
|
com.android.ddmlib.SyncException |
|
IOException |
|
com.android.ddmlib.TimeoutException |
SyncException |
|
TimeoutException |
|
pullFile
public void pullFile (FileListingService.FileEntry remote, String localFilename, SyncService.ISyncProgressMonitor monitor)
提取單一檔案。
| 參數 | |
|---|---|
remote |
FileListingService.FileEntry:遠端檔案 |
localFilename |
String:當地目的地。 |
monitor |
SyncService.ISyncProgressMonitor:進度監控器。不得為空值。 |
| 擲回 | |
|---|---|
|
發生 IO 例外狀況時。 |
TimeoutException |
如果從裝置讀取回應時發生逾時情況,就會發生這種情形。 |
SyncException |
發生同步例外狀況時。 |
pullFile
public void pullFile (String remoteFilepath,
String localFilename,
SyncService.ISyncProgressMonitor monitor)提取單一檔案。
由於這個方法只會處理遠端檔案的字串,而不是 FileEntry,因此系統無法得知要擷取的檔案大小,ISyncProgressMonitor 也無法正確顯示進度
| 參數 | |
|---|---|
remoteFilepath |
String:遠端檔案的完整路徑 |
localFilename |
String:當地目的地。 |
monitor |
SyncService.ISyncProgressMonitor:進度監控器。不得為空值。 |
| 擲回 | |
|---|---|
|
發生 IO 例外狀況時。 |
TimeoutException |
如果從裝置讀取回應時發生逾時情況,就會發生這種情形。 |
SyncException |
發生同步例外狀況時。 |
另請參閱:
推播
public void push (String[] local,
FileListingService.FileEntry remote,
SyncService.ISyncProgressMonitor monitor)推送多個檔案或目錄。
| 參數 | |
|---|---|
local |
String:要推送的本機檔案 |
remote |
FileListingService.FileEntry:代表目錄的遠端 FileEntry |
monitor |
SyncService.ISyncProgressMonitor:進度監控器 |
| 擲回 | |
|---|---|
SyncException |
如果無法推送部分檔案 |
|
如果連線發生 I/O 錯誤 |
TimeoutException |
如果讀取裝置的回應時發生逾時 |
推播
public void push (String[] local,
String remote,
SyncService.ISyncProgressMonitor monitor)推送多個檔案或目錄。
| 參數 | |
|---|---|
local |
String:要推送的本機檔案 |
remote |
String:代表目錄的遠端路徑 |
monitor |
SyncService.ISyncProgressMonitor:進度監控器 |
| 擲回 | |
|---|---|
SyncException |
如果無法推送部分檔案 |
|
如果連線發生 I/O 錯誤 |
TimeoutException |
如果讀取裝置的回應時發生逾時 |
pushFile
public void pushFile (String local,
String remote,
SyncService.ISyncProgressMonitor monitor)推送單一檔案。
| 參數 | |
|---|---|
local |
String:本機檔案路徑。 |
remote |
String:遠端檔案路徑。 |
monitor |
SyncService.ISyncProgressMonitor:進度監控器。不得為空值。 |
| 擲回 | |
|---|---|
SyncException |
if file could not be pushed |
|
如果連線發生 I/O 錯誤。 |
TimeoutException |
如果從裝置讀取回應時發生逾時情況,就會發生這種情形。 |
statFile
public SyncService.FileStat statFile (String path)
傳回遠端檔案的 stat 資訊。
| 參數 | |
|---|---|
path |
String:遠端檔案 |
| 傳回 | |
|---|---|
SyncService.FileStat |
如果一切順利,則為包含模式、大小和上次修改資訊的 FileStat,否則為空值 |
| 擲回 | |
|---|---|
|
IOException |
TimeoutException |
如果從裝置讀取回應時發生逾時情況,就會發生這種情形。 |