FileListingService
public
final
class
FileListingService
extends Object
| java.lang.Object | |
| ↳ | com.android.ddmlib.FileListingService |
提供 IDevice 側邊檔案清單服務。
摘要
巢狀類別 | |
|---|---|
class |
FileListingService.FileEntry
代表目錄中的項目。 |
interface |
FileListingService.IListingReceiver
實作這個介面的類別會提供方法,處理裝置上 |
常數 | |
|---|---|
String |
DIRECTORY_APP
應用程式資料夾。 |
String |
DIRECTORY_DATA
頂層資料夾。 |
String |
DIRECTORY_MNT
頂層掛接資料夾。 |
String |
DIRECTORY_SDCARD
頂層 SD 卡資料夾。 |
String |
DIRECTORY_SYSTEM
頂層系統資料夾。 |
String |
DIRECTORY_TEMP
頂層暫存資料夾。 |
String |
FILE_SEPARATOR
裝置端檔案分隔符號。 |
long |
REFRESH_RATE
|
int |
TYPE_BLOCK
項目類型:封鎖 |
int |
TYPE_CHARACTER
項目類型:字元 |
int |
TYPE_DIRECTORY
項目類型:目錄 |
int |
TYPE_DIRECTORY_LINK
項目類型:目錄連結 |
int |
TYPE_FIFO
項目類型:FIFO |
int |
TYPE_FILE
項目類型:檔案 |
int |
TYPE_LINK
項目類型:連結 |
int |
TYPE_OTHER
項目類型:其他 |
int |
TYPE_SOCKET
項目類型:通訊端 |
欄位 | |
|---|---|
public
static
final
Pattern |
LS_LD_PATTERN
|
public
static
final
Pattern |
LS_L_PATTERN
用來剖析 ls 結果的 Regexp 模式。 |
public
static
final
Pattern |
STAT_PATTERN
用來剖析統計資料結果的 Regexp 模式。 |
公用建構函式 | |
|---|---|
FileListingService(IDevice device)
為指定的 |
|
公用方法 | |
|---|---|
FileEntry[]
|
getChildren(FileListingService.FileEntry entry, boolean useCache, FileListingService.IListingReceiver receiver)
傳回 |
FileEntry[]
|
getChildrenSync(FileListingService.FileEntry entry)
傳回 |
FileListingService.FileEntry
|
getRoot()
傳回根元素。 |
常數
DIRECTORY_APP
public static final String DIRECTORY_APP
應用程式資料夾。
常數值: "app"
DIRECTORY_DATA
public static final String DIRECTORY_DATA
頂層資料夾。
常數值: "data"
DIRECTORY_MNT
public static final String DIRECTORY_MNT
頂層掛接資料夾。
常數值: "mnt"
DIRECTORY_SDCARD
public static final String DIRECTORY_SDCARD
頂層 SD 卡資料夾。
常數值: "sdcard"
DIRECTORY_SYSTEM
public static final String DIRECTORY_SYSTEM
頂層系統資料夾。
常數值: "system"
DIRECTORY_TEMP
public static final String DIRECTORY_TEMP
頂層暫存資料夾。
常數值: "tmp"
FILE_SEPARATOR
public static final String FILE_SEPARATOR
裝置端檔案分隔符號。
常數值: "/"
REFRESH_RATE
public static final long REFRESH_RATE
常數值: 5000 (0x0000000000001388)
TYPE_BLOCK
public static final int TYPE_BLOCK
項目類型:封鎖
常數值: 3 (0x00000003)
TYPE_CHARACTER
public static final int TYPE_CHARACTER
項目類型:字元
常數值: 4 (0x00000004)
TYPE_DIRECTORY
public static final int TYPE_DIRECTORY
項目類型:目錄
常數值: 1 (0x00000001)
TYPE_DIRECTORY_LINK
public static final int TYPE_DIRECTORY_LINK
項目類型:目錄連結
常數值: 2 (0x00000002)
TYPE_FIFO
public static final int TYPE_FIFO
項目類型:先進先出
常數值: 7 (0x00000007)
TYPE_FILE
public static final int TYPE_FILE
項目類型:檔案
常數值: 0 (0x00000000)
TYPE_LINK
public static final int TYPE_LINK
項目類型:連結
常數值: 5 (0x00000005)
TYPE_OTHER
public static final int TYPE_OTHER
項目類型:其他
常數值: 8 (0x00000008)
TYPE_SOCKET
public static final int TYPE_SOCKET
項目類型:插座
常數值: 6 (0x00000006)
欄位
LS_LD_PATTERN
public static final Pattern LS_LD_PATTERN
LS_L_PATTERN
public static final Pattern LS_L_PATTERN
用於剖析 ls 結果的 Regexp 模式。
STAT_PATTERN
public static final Pattern STAT_PATTERN
用於剖析 stat 結果的 Regexp 模式。例如:drwxr-xr-x root root 2021-08-02 09:20:53.000000000 -0700 4096 /
公用建構函式
FileListingService
public FileListingService (IDevice device)
為指定的 IDevice 建立檔案清單服務。
| 參數 | |
|---|---|
device |
IDevice:服務連線的裝置。 |
公用方法
getChildren
public FileEntry[] getChildren (FileListingService.FileEntry entry, boolean useCache, FileListingService.IListingReceiver receiver)
傳回 FileEntry 的子項。
這個方法支援快取機制,以及同步和非同步模式。
如果 receiver 為 null,裝置端 ls 指令會同步完成,方法會在指令完成時傳回。
如果 receiver 不是 null,指令會在獨立執行緒中啟動,完成後,接收者會收到結果通知。
每個 ls 指令的結果都會快取在父項 FileEntry 中。useCache 允許使用這個快取,但前提是快取有效。快取僅在 FileListingService.REFRESH_RATE 毫秒內有效。之後一律會執行新的 ls
指令。
如果快取有效且為 useCache == true,無論是否提供 IListingReceiver,這個方法一律只會傳回快取的值。
| 參數 | |
|---|---|
entry |
FileListingService.FileEntry:父項項目。 |
useCache |
boolean:使用快取或強制執行新 ls 指令的旗標。 |
receiver |
FileListingService.IListingReceiver:非同步呼叫的接收器。 |
| 傳回 | |
|---|---|
FileEntry[] |
非同步呼叫的子項清單或 null。 |
getChildrenSync
public FileEntry[] getChildrenSync (FileListingService.FileEntry entry)
傳回 FileEntry 的子項。
這個方法是 getChildren(com.android.ddmlib.FileListingService.FileEntry, boolean, com.android.ddmlib.FileListingService.IListingReceiver) 的明確同步版本。這大致等同於呼叫 getChildren(FileEntry, false, null)
| 參數 | |
|---|---|
entry |
FileListingService.FileEntry:父項項目。 |
| 傳回 | |
|---|---|
FileEntry[] |
孩子清單 |
| 擲回 | |
|---|---|
TimeoutException |
如果傳送指令時連線逾時。 |
AdbCommandRejectedException |
如果 adb 拒絕該指令。 |
ShellCommandUnresponsiveException |
如果殼層指令在超過 maxTimeToOutputResponse 的時間內未傳送任何輸出內容。 |
|
如果連線發生 I/O 錯誤。 |
getRoot
public FileListingService.FileEntry getRoot ()
傳回根元素。
| 傳回 | |
|---|---|
FileListingService.FileEntry |
代表根元素的 FileEntry 物件,或裝置無效時的 null。 |