FileListingService

public final class FileListingService
extends Object

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


Предоставляет сервис для получения списка файлов на стороне IDevice .

Краткое содержание

Вложенные классы

class FileListingService.FileEntry

Представляет собой запись в каталоге.

interface FileListingService.IListingReceiver

Классы, реализующие этот интерфейс, предоставляют метод для обработки асинхронных результатов команды ls на устройстве.

Константы

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`.

public static final Pattern STAT_PATTERN

Шаблон регулярного выражения для анализа результата из stat.

Государственные строители

FileListingService ( IDevice device)

Создает службу отображения списка файлов для указанного IDevice .

Общедоступные методы

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

Возвращает дочерние элементы объекта FileEntry .

static FileEntry[] getChildrenSync ( FileListingService.FileEntry entry, INativeDevice device)

Возвращает дочерние элементы объекта FileEntry .

FileListingService.FileEntry getRoot ()

Возвращает корневой элемент.

Константы

DIRECTORY_APP

public static final String DIRECTORY_APP

Папка приложения.

Постоянное значение: "приложение"

DIRECTORY_DATA

public static final String DIRECTORY_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

Системная папка верхнего уровня.

Постоянная величина: "система"

DIRECTORY_TEMP

public static final String DIRECTORY_TEMP

Временная папка верхнего уровня.

Постоянное значение: "tmp"

РАЗДЕЛИТЕЛЬ ФАЙЛОВ

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)

public static final int TYPE_DIRECTORY_LINK

Тип записи: Ссылка на каталог

Постоянное значение: 2 (0x00000002)

TYPE_FIFO

public static final int TYPE_FIFO

Тип записи: FIFO (первым пришел — первым обслужен)

Постоянное значение: 7 (0x00000007)

TYPE_FILE

public static final int TYPE_FILE

Тип записи: Файл

Постоянное значение: 0 (0x00000000)

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`.

STAT_PATTERN

public static final Pattern STAT_PATTERN

Шаблон регулярного выражения для разбора результата из команды stat. Например: 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 static FileEntry[] getChildrenSync (FileListingService.FileEntry entry, 
                INativeDevice device)

Возвращает дочерние элементы объекта FileEntry .

Этот метод является явной синхронной версией метода getChildren(FileEntry,boolean,IListingReceiver) . Он примерно эквивалентен вызову метода getChildren(FileEntry, false, null).

Параметры
entry FileListingService.FileEntry : Родительская запись.

device INativeDevice

Возвраты
FileEntry[] Список детей

Броски
AdbCommandRejectedException если adb отклонит команду.
ShellCommandUnresponsiveException в случае, если команда оболочки не выводит никаких данных в течение периода, превышающего maxTimeToOutputResponse .
TimeoutException в случае истечения времени ожидания соединения при отправке команды.
IOException в случае ошибки ввода-вывода в соединении.
DeviceNotAvailableException

получить root

public FileListingService.FileEntry getRoot ()

Возвращает корневой элемент.

Возвраты
FileListingService.FileEntry Объект FileEntry , представляющий корневой элемент, или null если устройство недействительно.