FileListingService

public final class FileListingService
extends Object

java.lang.Object
   ↳ com.android.ddmlib.FileListingService


Cung cấp dịch vụ liệt kê tệp phụ IDevice.

Tóm tắt

Lớp lồng ghép

class FileListingService.FileEntry

Đại diện cho một mục trong thư mục. 

interface FileListingService.IListingReceiver

Các lớp triển khai giao diện này cung cấp một phương thức xử lý kết quả không đồng bộ từ lệnh ls trên thiết bị. 

Hằng số

String DIRECTORY_APP

Thư mục ứng dụng.

String DIRECTORY_DATA

Thư mục dữ liệu cấp cao nhất.

String DIRECTORY_MNT

Thư mục gắn kết cấp cao nhất.

String DIRECTORY_SDCARD

Thư mục sdcard cấp cao nhất.

String DIRECTORY_SYSTEM

Thư mục hệ thống cấp cao nhất.

String DIRECTORY_TEMP

Thư mục tạm thời cấp cao nhất.

String FILE_SEPARATOR

Dấu phân cách tệp phía thiết bị.

long REFRESH_RATE

int TYPE_BLOCK

Loại mục: Chặn

int TYPE_CHARACTER

Loại mục nhập: Ký tự

int TYPE_DIRECTORY

Loại mục nhập: Thư mục

int TYPE_DIRECTORY_LINK

Loại mục nhập: Đường liên kết đến thư mục

int TYPE_FIFO

Loại mục: FIFO

int TYPE_FILE

Loại mục: Tệp

int TYPE_LINK

Loại mục: Đường liên kết

int TYPE_OTHER

Loại mục nhập: Khác

int TYPE_SOCKET

Loại cổng: Ổ cắm

Trường

public static final Pattern LS_LD_PATTERN

public static final Pattern LS_L_PATTERN

Mẫu biểu thức chính quy để phân tích kết quả từ ls.

public static final Pattern STAT_PATTERN

Mẫu biểu thức chính quy để phân tích kết quả từ stat.

Hàm khởi tạo công khai

FileListingService(IDevice device)

Tạo một Dịch vụ liệt kê tệp cho một IDevice cụ thể.

Phương thức công khai

FileEntry[] getChildren(FileListingService.FileEntry entry, boolean useCache, FileListingService.IListingReceiver receiver)

Trả về các thành phần con của một FileEntry.

FileEntry[] getChildrenSync(FileListingService.FileEntry entry)

Trả về các thành phần con của một FileEntry.

FileListingService.FileEntry getRoot()

Trả về phần tử gốc.

Hằng số

DIRECTORY_APP

public static final String DIRECTORY_APP

Thư mục ứng dụng.

Giá trị không đổi: "app"

DIRECTORY_DATA

public static final String DIRECTORY_DATA

Thư mục dữ liệu cấp cao nhất.

Giá trị không đổi: "data"

DIRECTORY_MNT

public static final String DIRECTORY_MNT

Thư mục gắn kết cấp cao nhất.

Giá trị không đổi: "mnt"

DIRECTORY_SDCARD

public static final String DIRECTORY_SDCARD

Thư mục sdcard cấp cao nhất.

Giá trị không đổi: "sdcard"

DIRECTORY_SYSTEM

public static final String DIRECTORY_SYSTEM

Thư mục hệ thống cấp cao nhất.

Giá trị không đổi: "system"

DIRECTORY_TEMP

public static final String DIRECTORY_TEMP

Thư mục tạm thời cấp cao nhất.

Giá trị không đổi: "tmp"

FILE_SEPARATOR

public static final String FILE_SEPARATOR

Dấu phân cách tệp phía thiết bị.

Giá trị không đổi: "/"

REFRESH_RATE

public static final long REFRESH_RATE

Giá trị hằng số: 5000 (0x0000000000001388)

TYPE_BLOCK

public static final int TYPE_BLOCK

Loại mục: Chặn

Giá trị hằng số: 3 (0x00000003)

TYPE_CHARACTER

public static final int TYPE_CHARACTER

Loại mục nhập: Ký tự

Giá trị hằng số: 4 (0x00000004)

TYPE_DIRECTORY

public static final int TYPE_DIRECTORY

Loại mục nhập: Thư mục

Giá trị hằng số: 1 (0x00000001)

public static final int TYPE_DIRECTORY_LINK

Loại mục nhập: Đường liên kết đến thư mục

Giá trị hằng số: 2 (0x00000002)

TYPE_FIFO

public static final int TYPE_FIFO

Loại mục: FIFO

Giá trị hằng số: 7 (0x00000007)

TYPE_FILE

public static final int TYPE_FILE

Loại mục: Tệp

Giá trị hằng số: 0 (0x00000000)

public static final int TYPE_LINK

Loại mục: Đường liên kết

Giá trị hằng số: 5 (0x00000005)

TYPE_OTHER

public static final int TYPE_OTHER

Loại mục nhập: Khác

Giá trị hằng số: 8 (0x00000008)

TYPE_SOCKET

public static final int TYPE_SOCKET

Loại cổng: Ổ cắm

Giá trị hằng số: 6 (0x00000006)

Trường

LS_LD_PATTERN

public static final Pattern LS_LD_PATTERN

LS_L_PATTERN

public static final Pattern LS_L_PATTERN

Mẫu biểu thức chính quy để phân tích kết quả từ ls.

STAT_PATTERN

public static final Pattern STAT_PATTERN

Mẫu biểu thức chính quy để phân tích kết quả từ stat. Ví dụ: drwxr-xr-x root root 2021-08-02 09:20:53.000000000 -0700 4096 /

Hàm khởi tạo công khai

FileListingService

public FileListingService (IDevice device)

Tạo một Dịch vụ liệt kê tệp cho một IDevice cụ thể.

Tham số
device IDevice: Thiết bị mà dịch vụ được kết nối.

Phương thức công khai

getChildren

public FileEntry[] getChildren (FileListingService.FileEntry entry, 
                boolean useCache, 
                FileListingService.IListingReceiver receiver)

Trả về các thành phần con của một FileEntry.

Phương thức này hỗ trợ cơ chế lưu vào bộ nhớ đệm và các chế độ đồng bộ và không đồng bộ.

Nếu receivernull, thì lệnh ls phía thiết bị sẽ được thực hiện đồng bộ và phương thức sẽ trả về khi hoàn tất lệnh.
Nếu receiver không phải là null, thì lệnh sẽ được khởi chạy trong một luồng riêng biệt và sau khi hoàn tất, người nhận sẽ được thông báo về kết quả.

Kết quả của mỗi lệnh ls sẽ được lưu vào bộ nhớ đệm trong FileEntry mẹ. useCache cho phép sử dụng bộ nhớ đệm này, nhưng chỉ khi bộ nhớ đệm hợp lệ. Bộ nhớ đệm chỉ có hiệu lực trong FileListingService.REFRESH_RATE mili giây. Sau đó, một lệnh ls mới sẽ luôn được thực thi.

Nếu bộ nhớ đệm hợp lệ và useCache == true, phương thức này sẽ luôn chỉ trả về giá trị của bộ nhớ đệm, cho dù bạn đã cung cấp IListingReceiver hay chưa.

Tham số
entry FileListingService.FileEntry: Mục nhập mẹ.

useCache boolean: Cờ dùng bộ nhớ đệm hoặc buộc lệnh ls mới.

receiver FileListingService.IListingReceiver: Một receiver cho các lệnh gọi không đồng bộ.

Giá trị trả về
FileEntry[] Danh sách các thành phần con hoặc null cho các lệnh gọi không đồng bộ.

getChildrenSync

public FileEntry[] getChildrenSync (FileListingService.FileEntry entry)

Trả về các thành phần con của một FileEntry.

Phương thức này là phiên bản đồng bộ rõ ràng của getChildren(com.android.ddmlib.FileListingService.FileEntry, boolean, com.android.ddmlib.FileListingService.IListingReceiver). Phương thức này tương đương với việc gọi getChildren(FileEntry, false, null)

Tham số
entry FileListingService.FileEntry: Mục nhập mẹ.

Giá trị trả về
FileEntry[] Danh sách trẻ em

Gửi
TimeoutException trong trường hợp hết thời gian chờ kết nối khi gửi lệnh.
AdbCommandRejectedException nếu adb từ chối lệnh.
ShellCommandUnresponsiveException trong trường hợp lệnh shell không gửi bất kỳ đầu ra nào trong khoảng thời gian dài hơn maxTimeToOutputResponse.
trong trường hợp xảy ra lỗi đầu vào/đầu ra trên kết nối.

getRoot

public FileListingService.FileEntry getRoot ()

Trả về phần tử gốc.

Giá trị trả về
FileListingService.FileEntry đối tượng FileEntry đại diện cho phần tử gốc hoặc null nếu thiết bị không hợp lệ.