ContentProviderHandler

public class ContentProviderHandler
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.contentprovider.ContentProviderHandler


用于抽象化 content provider 互动并允许使用设备端 content provider 执行不同操作的处理程序。

该类中的所有实现都应留意设备上当前运行的用户。

摘要

字段

public static final String[] COLUMNS

public static final String COLUMN_ABSOLUTE_PATH

public static final String COLUMN_DIRECTORY

public static final String COLUMN_METADATA

public static final String COLUMN_MIME_TYPE

public static final String COLUMN_NAME

public static final String CONTENT_PROVIDER_URI

public static final String NO_RESULTS_STRING

public static final String PACKAGE_NAME

public static final String QUERY_INFO_VALUE

公共构造函数

ContentProviderHandler(ITestDevice device)

构造函数。

ContentProviderHandler(ITestDevice device, Integer userId)

公共方法

boolean contentProviderNotFound()

如果其中一个操作失败且未找到内容提供程序,则返回 True。

static String createEscapedContentUri(String deviceFilePath)

返回给定设备路径的完整 URI 字符串,并进行转义和编码以避免非网址字符。

boolean deleteFile(String deviceFilePath)

用于在 URI 位置删除文件的内容提供程序回调。

boolean doesFileExist(String deviceFilePath)

确定设备上是否存在文件或非空目录。

Integer getUserId()

返回初始化此实例时使用的 userId。

boolean pullDir(String deviceFilePath, File localDir)

使用 content provider 以递归方式从设备中提取目录内容。

boolean pullFile(String deviceFilePath, File localFile)

一种 content provider 回调,此回调会将文件从 URI 位置拉取到本地文件中。

boolean pushDir(File localFileDir, String deviceFilePath, excludedDirectories)

用于将目录推送到 URI 位置的 content provider 回调。

boolean pushFile(File fileToPush, String deviceFilePath)

用于将文件推送到 URI 位置的 content provider 回调。

boolean setUp()

确保已安装 content provider 帮助程序 APK 并且随时可以使用。

void tearDown()

通过 content provider 帮助程序清理设备。

字段

public static final String[] COLUMNS

COLUMN_ABSOLUTE_PATH

public static final String COLUMN_ABSOLUTE_PATH

COLUMN_DIRECTORY

public static final String COLUMN_DIRECTORY

COLUMN_METADATA

public static final String COLUMN_METADATA

COLUMN_MIME_TYPE

public static final String COLUMN_MIME_TYPE

COLUMN_NAME

public static final String COLUMN_NAME

CONTENT_PROVIDER_URI

public static final String CONTENT_PROVIDER_URI

NO_RESULTS_STRING

public static final String NO_RESULTS_STRING

PACKAGE_NAME

public static final String PACKAGE_NAME

QUERY_INFO_VALUE

public static final String QUERY_INFO_VALUE

公共构造函数

ContentProviderHandler

public ContentProviderHandler (ITestDevice device)

构造函数。

参数
device ITestDevice

抛出
DeviceNotAvailableException

ContentProviderHandler

public ContentProviderHandler (ITestDevice device, 
                Integer userId)

参数
device ITestDevice

userId Integer

公共方法

找不到 contentProvider

public boolean contentProviderNotFound ()

如果某项操作失败且未找到内容提供程序,则返回 True。可以通过再次成功运行 setUp() 来清除。

返回
boolean

createEscapedContentUri

public static String createEscapedContentUri (String deviceFilePath)

返回给定设备路径的完整 URI 字符串,并进行转义和编码以避免非网址字符。

参数
deviceFilePath String

返回
String

deleteFile

public boolean deleteFile (String deviceFilePath)

用于删除 URI 位置处文件的内容提供程序回调。文件将从设备内容中删除。

参数
deviceFilePath String:要删除的文件设备上的路径。

返回
boolean 如果成功,则为 true,否则为 false

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

doFileExist

public boolean doesFileExist (String deviceFilePath)

确定设备上是否存在文件或非空目录。

参数
deviceFilePath String:设备上要检查是否存在的绝对文件路径。

返回
boolean 如果文件/目录存在,则为 true,否则为 false。如果目录为空,也会返回 False。

抛出
DeviceNotAvailableException

获取用户 ID

public Integer getUserId ()

返回初始化此实例时使用的 userId。

返回
Integer

pullDir

public boolean pullDir (String deviceFilePath, 
                File localDir)

使用 content provider 以递归方式从设备中提取目录内容。

参数
deviceFilePath String:远程来源的绝对文件路径

localDir File:用于拉取文件的本地目录

返回
boolean 如果文件已成功拉取,则为 true。否则为 false

抛出
DeviceNotAvailableException 如果与设备的连接已断开且无法恢复。

pullFile

public boolean pullFile (String deviceFilePath, 
                File localFile)

用于将 URI 位置中的文件拉取到本地文件的内容提供程序回调。

参数
deviceFilePath String:设备上的路径,可从中拉取文件。

localFile File:用于存储内容的 ERROR(/File)。如果为非空值,则内容将被替换。

返回
boolean 如果成功,则为 true,否则为 false

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

推送目录

public boolean pushDir (File localFileDir, 
                String deviceFilePath, 
                 excludedDirectories)

用于将目录推送到 URI 位置的 content provider 回调。

参数
localFileDir File:要推送的目录

deviceFilePath String:设备上的位置

excludedDirectories :推送中未包含的目录。

返回
boolean 如果成功,则为 true

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

pushFile

public boolean pushFile (File fileToPush, 
                String deviceFilePath)

用于将文件推送到 URI 位置的 content provider 回调。

参数
fileToPush File:要推送到设备的 ERROR(/File)

deviceFilePath String:设备上要将文件推送到其中的路径。

返回
boolean 如果成功,则为 true,否则为 false

抛出
com.android.tradefed.device.DeviceNotAvailableException
IllegalArgumentException
DeviceNotAvailableException

设置

public boolean setUp ()

确保内容提供方帮助程序 APK 已安装且可供使用。

返回
boolean 如果可供使用,则为 true,否则为 false。

抛出
DeviceNotAvailableException

拆解

public void tearDown ()

通过 content provider 帮助程序清理设备。

抛出
DeviceNotAvailableException